jQuery更改了选择后刷新选择的选项
Refreshing select after selected option is changed by jQuery
我正在使用jQuery以编程方式更新所选选项,但浏览器中没有任何变化。 (也就是说,旧的选定选项保持选中状态,而不是切换到新选择的选项。 建议?
谢谢。 --杰夫
我有一个简单的表格,如下所示:
<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>
我正在使用jQuery以编程方式更新所选选项
据我所知,没有。您正在重新设置所选option
的值,但据我所知,没有对实际select
框执行任何操作。
要更改select
框,您需要识别它,然后对其调用val
,而不是其option
元素之一。
我无法弄清楚您希望input[name="button1"]
做什么,但以下是更新select
框的示例: 实时副本 | 来源
.HTML:
<select id="theSelect">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="button" id="theButton" value="Click me">
JavaScript:
jQuery(function($) {
$("#theButton").click(function() {
$("#theSelect").val("2");
});
});
另外,正如j08691在注释中指出的那样,您不能将相同的id
值("assigner"
)分配给多个元素。 id
值在文档中必须是唯一的。您的代码没有显示您使用该id
,因此这可能不相关,但值得标记。
<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="assigner2">
<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="assigner3">
<option value="Sam">Sam</option>
<option value="Harry" selected="selected">Harry</option>
<option value="Fred">Fred</option>
</select>
</p>
</form>
<script type="text/javascript">
jQuery(document).ready(function(){
$('[name="button1"]').click(
function(){
var assigned = $("#assigner").val();
$('#form1 select').val( assigned );
}
);
});
</script>
相关文章:
- 如何取消选择所选选项并将JqueryMobile中选择的值刷新为1st
- Jquery选择菜单选项在页面刷新时失败
- 触发单选按钮单击,并在页面刷新时记住选择
- 如何在不刷新页面和不单击“发送”按钮的情况下从下拉选择中向 MYSQL 发送值
- 如何刷新存储和快照的 jquery 选择器变量
- 角度:ui选择.具有“刷新”功能的自定义标记
- 保存当前选择的<李>在页面刷新后的Angular中
- 如何在页面刷新后在grails中保留下拉选择
- 在页面刷新时恢复下拉选择的选项
- 余烬.当用户刷新网站时,保留下拉菜单中的选择
- 循环刷新页面,直到选择器可用
- 当用户从下拉列表中选择时刷新 CKEDITOR
- 在 AngularJS 中,用于选择不同控制器的选项 - 如何刷新
- 根据用户选择的计时器间隔自动刷新页面
- Jquery 日期选择器仅在页面刷新后工作
- 如何在不刷新页面的情况下将“HTML 选择值”发送到另一个使用 ajax 的网页
- 选择时获取下拉值,并将其传递给控制器,而无需刷新页面
- 刷新选择选项
- 做一个选择刷新,而它是打开时更改- chrome
- 选择2 -刷新页面后显示所选项目