我的意思是,我觉得自己像个白痴,但即使搜索了将近两个小时,我似乎也无法做到这一点。
此选择后跟一个隐藏的文本字段:
<select name="location_id" class="select green-gradient" single>
<option value="2">New York</option>
<option value="3">London</option>
<option value="4">Singapore</option>
<option value="5">San Francisco</option>
<option value="6">Milan</option>
</select>
<input type='text' name="selected_location_id" class="hidden" value="">
我通常将此代码用于复选框。它切换隐藏文本框的内容。我知道检查选择的值是不同的。但我似乎做不好。
$(document).ready(function(){
$('.switch').change(function( ){
if($(this).next().val() == 1){
$(this).next().val(0);
} else {
$(this).next().val(1);
}
});
})
我已经试过这个:但它没有用,因为我需要对页面上的所有选择执行此操作。它仍然不会更新隐藏的文本框。
$(document).ready(function(){
$('.select').change(function( ){
var selectedValue = $(this "option:selected").val();
$(this).next().val(selectedValue);
});
})
也许我只是累了。但现在是时候寻求帮助了。 提前谢谢。
我认为应该是
$('select').change ///(without the dot)
不
$('.switch').change
也不
$('.select').change
var selectedValue = $("option:selected").val();
通过取出"这个"来在 jsfiddle 中工作。
在侦听器中,this
引用元素。您还可以从选择元素的名称中获取隐藏元素的名称,因此,如果它们在表单中:
this.form['selected_' + this.name].value = this.value;
无需单个函数调用即可完成。