这是我隐藏的输入......
<input name="input_name[]" type="hidden"/>
我想在“更改”多个选择选项时立即为此输入添加值:
<select id="inputSelect" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
即使是函数,放javascript o的地方也与我无关。
我会接受javascript解决方案的答案,但如果有人提供jquery解决方案,我会把它作为重要信息,我会非常感谢。
非常感谢。
答案 0 :(得分:1)
这是一个jQuery示例:
$('#inputSelect').on('change', function(){
var newVal = $(this).val();
$('#inputHidden').val(newVal);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input name="input_name[]" id="inputHidden"/>
<select id="inputSelect" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
&#13;
答案 1 :(得分:0)
这是使用核心Javascript的解决方案。它的工作原理是将事件监听器附加到ScrollPane
输入,然后运行一个函数来设置隐藏<select>
的值。
要定位隐藏的<input>
,我们可以使用<input>
并使用document.getElementsByName
的名称。如果您有多个具有此名称的元素,则需要将input_name[]
中方括号中的索引更改为正确的索引。在这种情况下,由于有一个名称为inputHidden[0].value = newValue;
的元素,因此我们使用索引input_hidden[]
。如果有2个元素,并且您想要设置第二个隐藏0
的值,则可以使用<input>
inputHidden[1].value = newValue;
var inputSelect = document.getElementById('inputSelect');
inputSelect.addEventListener('change', function() {
var newValue = [];
for (var i = 0; i < inputSelect.length; i++) {
if (inputSelect[i].selected) {
newValue.push(inputSelect[i].value);
}
}
var inputHidden = document.getElementsByName('input_name[]');
inputHidden[0].value = newValue.join(",");
});