我使用jQuery在程序中更新选定的选项,但浏览器中没有任何变化。(也就是说,旧的选中选项仍然被选中,而不是切换到新选择的选项。)有什么建议吗?
谢谢。 --Jeff
我有一个简单的表单,如下所示:
<form id="form1" name="form1" method="" action="">
<p>Assign:
<select name="assigner" id="assigner">
<option value="Sam" selected="selected">Sam</option>
<option value="Harry">Harry</option>
<option value="Fred">Fred</option>
</select>
<input type="button" name="button1" id="button1" value="Submit" />
</p>
<p> Task A: <select name="assignment[]" id="assigner">
<option value="Sam">Sam</option>
<option value="Harry" selected="selected">Harry</option>
<option value="Fred">Fred</option>
</select>
</p>
<p>
Task B: <select name="assignment[]" id="assigner">
<option value="Sam">Sam</option>
<option value="Harry" selected="selected">Harry</option>
<option value="Fred">Fred</option>
</select>
</p>
</form></div>
我的jQuery代码如下:
<script type="text/javascript">
jQuery(document).ready(function(){
$('[name="button1"]').click(
function(){
var form = $(this).parents('form');
var assigned = form.find(':selected').first().val();
form.find(':selected').each(function(index){
$(this).val( assigned ).change();
});
}
);
});
</script>
$(this).closest('form').find('select')
可以做到,在按钮的事件处理程序中使用。$(this)
将按钮包装在jQuery对象中。closest('form')
返回层次结构中最接近的form
元素的jQuery对象。然后find('select')
查找该表单中的所有select
元素。 - T.J. Crowder