• 締切済み

リスト値を変更したときに連動して他の値を変えたいのですが

おはようございます。 JavaScriptの質問です。 ボタン1とテキストボックスとリストボックスがあり、 ボタン1を押すとリストボックスの選択行を0にして テキストボックスに選択した行の行数を出そうとしています。 リストボックスを手動で変更した場合は リストボックスの値が表示されるのですが ボタンによってリストボックスの値が変わったときに テキストの値を変えることはできないのでしょうか? 以下ソース <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <TITLE>JAVATEST</TITLE> </HEAD> <BODY > <P align="center"><B>TEST<BR> </B></P> <P align="center"><BR> </P><center> <script language="javascript"> <!-- function ChangeTxt() { if (document.getElementById("List").selectedIndex=="0"){ document.getElementById("txtText").value="SUCCESS"; }{ document.getElementById("txtText").value=document.getElementById("List").selectedIndex; } } function ChangeListID() { document.getElementById("List").selectedIndex="0"; } //--> </script> <FORM name="frmForm"><INPUT type="button" ID="button1" name="btnGo" value="TEST" onClick= "ChangeListID()"> <INPUT size="20" type="text" ID="txtText" name="txtText" onChange= "ChangeTxt()"> <tr> <TD align="right"><FORM><SELECT name="List" id="List" onChange="ChangeTxt()"> <OPTION value="1">Item1</OPTION> <OPTION value="2">Item2</OPTION> <OPTION value="3">Item3</OPTION> </SELECT></FORM></TD></tr> </FORM> </center> </BODY> </HTML> どなたかおわかりになる方よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

プログラムでListの値を変更してもonChangeメソッド はトリガーとして発動しません。 いくつかやり方があると思いますが、この場合、 単純にChangeListIDでChagenTxt()を呼び出すのが 妥当ではないでしょうか function ChangeListID(){ document.getElementById("List").selectedIndex=0; ChangeTxt(); }

pokepotto
質問者

お礼

どうもありがとうございました。

関連するQ&A