我有三个下拉列表,一个列表在页面加载时填充,不会改变。第二个和第三个列表可能会根据选择而改变。这个功能工作正常。
我试过将Bootstrap selectpicker添加到选择器中,我可以看到它正在工作-不幸的是,列表没有根据选择进行刷新。我实际上认为它们是“幕后”的,因为我可以看到查询正在传递,但通过前端什么也没有发生。
HTML的一部分:
<!-- SelectPicker -->
<link href='//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.2/css/bootstrap-select.min.css' rel='stylesheet' type='text/css'>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
前两个DDL是通过php创建的,但
<select id='ddl_first_lookup' onchange='ajaxFirstOnChange(this.value)' value='' class='selectpicker'></option>
<select id='ddl_second_lookup' onchange='ajaxSecondOnChange(this.value)' class='selectpicker'>
<select id="ddl_third_lookup" onchange='ajaxThirdLookup(this.value)' class='selectpicker'></select>
我有下面的Javascript:
$(document).ready(function() {
$(".selectpicker").selectpicker();
});
这就是我发现问题的地方,我试图在 AJAX 中实现这个改变函数,但没有成功--甚至不确定它是否正确。
$('.selectpicker').selectpicker('refresh');
我对这一切都很陌生,所以想要一些帮助。
6条答案
按热度按时间w8f9ii691#
我发现你的问题后,有同样的问题。添加
$('.selectpicker').selectpicker('refresh');
正是在添加项目到我的列表做的工作。因此,您可能需要找到正确的位置来放置它,可能是在 AJAX 调用的成功部分。
dohp0rv52#
从我目前的经验来看-
如果要动态地将选项添加到下拉列表中,则必须在添加选项之前调用below函数
一旦你完成了添加选项,然后调用下面的函数(如果你是使用 AJAX 来添加选项,然后把这个函数到成功的一部分,就像刚才回答Athina)
如果你正面临着任何奇怪的问题,如显示下拉菜单,而不是数据或有时下拉菜单没有正确显示,那么肯定你一定是在放置有关功能和没有其他错误。
tpxzln5u3#
如果刷新方法没有帮助,请尝试添加一些延迟。
8ljdwjyq4#
在我的 AJAX successCallBack中,我尝试根据dynamicId(从服务器获取的值)操作ID为reasonCode的下拉列表,如下所示:
但不幸的是,这并没有工作,直到我添加了另一行后,这如下:
2guxujil5#
隐藏时更改selectpicker类名:
刷新时:
ajsxfq5m6#
我在
refresh
之前添加了destroy
,这解决了我的问题。