jQuery-ajax如何批量替换select下的option选项

发布于 2017-01-13 04:34:37 字数 668 浏览 1424 评论 3

比如我有一个用户组select下拉列表,当改变下拉选项(触发onchange事件)时,如果批量替换我下面的<select id="user1">、<select id="user2">、<select id="user3">...等多个select下拉列表里的选项,比如:

<div>
<select id="groupid" name="groupid" onchange="">
<option value="1">group1</option>
<option value="2">group2</option>
<option value="3">group3</option>
</select>
</div>
<div>
<select id="user1" name="user1"></select>
<select id="user2" name="user2"></select>
<select id="user3" name="user3"></select>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮生未歇 2017-10-16 23:38:05

用jquery的load函数可以实现,首先在你每个select下面加个class,这个class主要是用jquery来批量处理,代码如下:

<div>
<select id="groupid" name="groupid" onchange="var url='ajax.php?groupid='+this.value;$('.userClass').load(url);">
<option value="1">group1</option>
<option value="2">group2</option>
<option value="3">group3</option>
</select>
</div>
<div>
<select id="user1" name="user1" class="userClass"></select>
<select id="user2" name="user2" class="userClass"></select>
<select id="user3" name="user3" class="userClass"></select>
</div>

在你的ajax.php里生成option字符串就可以了。

虐人心 2017-07-10 03:09:50

ajax响应的数据提前处理好:

 $data = array(
'<option value="xxx">xxx</option><option value="xxx">xxx</option>',
'<option value="xxx">xxx</option><option value="xxx">xxx</option>',
);

echo json_encode($data);

js循环一次,把元素赋给相应的select.

 $.each(data,function(i,o){
$('#user' + (i+1)).html(o);
})

想挽留 2017-01-16 20:07:16

用JS的轻量级模板解决比较优雅,推荐使用https://github.com/blueimp/JavaScript-Templates

从Ajax获得的数据即可这样置入模板:

 {% for (var i=0; i< data.length; i++) { %}
<option value="{%=data[i].value%}">{%=data[i].label$}</option>
{% } %}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文