2017-09-10 1 views
0

私は2つの選択ボックスを持っており、私はそれらの値をselectboxベースのonchange selectboxに追加したいと思います。私は以下のコードを書いた。それは1人のためだけに働いています。 どうすればいいですか?ここ は私のコードです:selectboxの値をテキストボックスに追加する方法は?

var selectBox = document.getElementById('mySelect'); 
 
var selectBox2 = document.getElementById('mySelect2'); 
 

 
selectBox.addEventListener('change', handleChange); 
 
selectBox2.addEventListener('change', handleChange); 
 
          
 
function handleChange() 
 
{ 
 
    var selectedValue = this.options[this.selectedIndex].value; 
 
    document.getElementById('myInput').value = selectedValue; 
 
    document.getElementById('myInput2').value = selectedValue; 
 

 
}
<select id="mySelect"> 
 
    <option value="Option 1">Option 1</option> 
 
    <option value="Option 2">Option 2</option> 
 
    <option value="Option 3">Option 3</option> 
 
</select> 
 
<select id="mySelect2"> 
 
    <option value="Option 1">Option 1</option> 
 
    <option value="Option 2">Option 2</option> 
 
    <option value="Option 3">Option 3</option> 
 
</select> 
 

 

 
<input type="text" id="myInput" /> 
 
<input type="text" id="myInput2" />

+0

テキストボックスの現在の値に新しい値を追加するか、選択要素に1つのテキストボックスをマップしますか? – Nisarg

+0

@ NisargShah選択時にselectboxの値をselectboxに追加したい場合 – inaz

+0

'Option 2、Option 3'のようなもの? – Nisarg

答えて

2

var selectBox = document.getElementById('mySelect'); 
 
var selectBox2 = document.getElementById('mySelect2'); 
 

 
selectBox.addEventListener('change', handleChange); 
 
selectBox2.addEventListener('change', handleChange); 
 
          
 
function handleChange(event) 
 
{ 
 
    if (event.target.id == "mySelect") { 
 
     document.getElementById('myInput').value = selectBox.value; 
 
    } else { 
 
     document.getElementById('myInput2').value = selectBox2.value; 
 
    } 
 
}
<select id="mySelect"> 
 
    <option value="Option 1">Option 1</option> 
 
    <option value="Option 2">Option 2</option> 
 
    <option value="Option 3">Option 3</option> 
 
</select> 
 
<select id="mySelect2"> 
 
    <option value="Option 1">Option 1</option> 
 
    <option value="Option 2">Option 2</option> 
 
    <option value="Option 3">Option 3</option> 
 
</select> 
 

 

 
<input type="text" id="myInput" /> 
 
<input type="text" id="myInput2" />

+0

それは正しくありません。 "myInput"と "myselect2"を "myInput2"に "myselect"の値を追加したい – inaz

+0

最初にコードを実行して値を追加することを意味しますか? – ep98

+0

"myInput"というテキストボックスに "myselect"という値を表示し、 "myInput2"テキストボックスに "myselect2"という値を表示したいだけです。 onchangeの各選択ボックスに基づいて – inaz

2

あなたはjQueryを使ってあなたの質問にタグ付けされたので、私もjQueryをベースと答え提供するかもしれない:

$('[id^=mySelect]').change(function(){ 
    $('#'+this.id.replace('Select','Input')).val($(this).val()) 
}); 

この短いスニペットは、あなたが望むすべてを行う必要があります。私の最初のセレクタ[id^=mySelect]すべての「mySelect」で始まります。これは、このスニペットのスコープをさらに選択して入力する場合に便利です。これがあなたが望むものでない場合は、より明示的なバージョン#mySelect,#mySelect1に置き換えることができます。

関連する問題