2017-06-21 7 views
0

私は、ドロップダウン選択に基づいてテキストボックス内の値を変更するステートメントを書くJavaScriptを使用しています。 2つのテキストボックスフィールドと2つのドロップダウンメニューがあります。ドロップダウンメニューの選択に基づいて2つのテキストボックスに値を変更するにはどうすればよいですか?

DDBとDDAは私のドロップダウンメニューIDです。 TextBox1とTextBox2は私のテキストボックスIDです。

TextBox1の値が選択範囲に関係なく常に-90.4567のままである点を除いて、私が現在使用しているコードです。一方、TextBox2はドロップダウンの選択に基づいて変更され、完全に機能します。

TextBox2が-90.4567で一定になる原因となっているJavaScriptコードで何か間違っていますか?あなたは複数行のコードを実行するifが必要な場合

<script> 
function Blah(value) { 
var test = document.getElementById("<%=TextBox1.ClientID %>"); 
var test2 = document.getElementById("<%=TextBox2.ClientID %>"); 
var ddlB = document.getElementById("<%=DDB.ClientID %>"); 
var ddlA = document.getElementById("<%=DDA.ClientID %>"); 

if (ddlB.value == "10.1" && ddlA.value == "Inside") { test2.value = '10.1234' } { test.value = '-90.1234' } 
if (ddlB.value == "10.2" && ddlA.value == "Inside") { test2.value = '20.1234' } { test.value = '-90.2345' } 
if (ddlB.value == "10.3") { test2.value = '30.1234' } { test.value = '-90.3456' } 
if (ddlB.value == "10.4") { test2.value = '40.1234' } { test.value = '-90.4567' } 
} 
</script>  

答えて

2

、彼らはすべてがそうのような単一のブロックに包まれている必要があります。それをあなたの方法を行うことにより

if (condition) { 
    //multiple lines of code 
} 

、第2のブロックは常にですは条件に関係なく実行されます。 test.value = '-90.4567'が最後であるため、それが最終設定になります。

この例をチェックアウトし、第二のブロックは、常にが実行されている様子がわかります

if (false) {console.log("true")} {console.log("false")}

確かに、彼らがする余裕ができるがあなたの条件は、おそらく、より多くの本のようになります。いくつかelse ifを使用してクリーンアップします。

if (ddlB.value == "10.1" && ddlA.value == "Inside") { 
    test2.value = '10.1234'; 
    test.value = '-90.1234'; 
} 

if (ddlB.value == "10.2" && ddlA.value == "Inside") { 
    test2.value = '20.1234'; 
    test.value = '-90.2345'; 
} 

if (ddlB.value == "10.3") { 
    test2.value = '30.1234'; 
    test.value = '-90.3456'; 
} 

if (ddlB.value == "10.4") { 
    test2.value = '40.1234'; 
    test.value = '-90.4567' } 
} 
+0

あああなたが正しい、ありがとう! –

-1

あなたはjQueryを使って、ドロップダウンリスト上のonchangeイベントを必要とする:

$(document).ready(function() { 
    $(':checkbox').change(function() { 
      if($(this).val() == $VALOR1){ 
       // Código para valor 1    
     }else{ 
       //Código para valor 2 
     } 
}); 
+0

私は、この回答がOPの質問とどのような関係があるのか​​見当たりません。彼は、ドロップダウンに基づいて条件の1つが当てはまると言います。そのため、彼の関数「Blah」が既に添付されていると仮定します。あなたのコードはチェックボックスを参照しています(これは質問にも含まれていません)。 '$ VALOR1'と呼ばれるものへの未定義の参照があります。そして、OPはjQueryについて言及しなかったし、彼の質問でそれをタグ付けしていたので、厳密にjQueryの答えを提供することはおそらく最良の解決策ではないでしょう。 – Santi

関連する問題