使用 jquery.selectbox 时无法设置 SELECT 控件的值
Posted
技术标签:
【中文标题】使用 jquery.selectbox 时无法设置 SELECT 控件的值【英文标题】:cannot set value of SELECT control when using jquery.selectbox 【发布时间】:2012-03-20 17:07:52 【问题描述】:当使用 jquery.selectbox.js 插件制作漂亮的 SELECT 下拉菜单时,我遇到了一个问题,我无法使用 JQuery 选择当前值:$("#select_id").val("my value");
可能的解决方案是删除 $('#select_id').selectbox();打电话,但我失去了设计。
怎么办?
调查:
使用 jquery.selectbox 时,真正的下拉菜单隐藏在页面上,只有 jquery.selectbox 制作的表示元素可见(实际上它们是 DIV)。问题是当 .val() 更新时,对应的可见 DIV(带有 class="jquery-selectbox-currentItem")没有更新。
【问题讨论】:
为什么人们会投反对票?很难理解这样的问题实际上可以帮助以后的人吗?感谢这个问题和解决方案! 【参考方案1】:不是最佳解决方案,但比您提出的解决方法更干净,试试这个(基本上,强制 selectBox 更新其 html):
$("#order_billing_region").val("your value").selectBox("options", $("#order_billing_region").html());
【讨论】:
【参考方案2】:我找到了一种解决方法,我们可以分离选择框,然后设置值并再次将选择框插件附加到下拉列表。
function fnClearJquerySelectBox(control,value)
$("#order_billing_region").selectbox("detach");
$("#order_billing_region").val(value);
$("#order_billing_region").selectbox("attach");
fnClearJquerySelectBox("control","0");
希望这会有所帮助..
【讨论】:
【参考方案3】:我发现以下内容: https://github.com/marcj/jquery-selectBox/blob/master/readme.md
代码: $('select').selectBox('value', 1);
【讨论】:
【参考方案4】:我发明了一种解决方法:
var ctlName = "#order_billing_region";
var ctl = $(ctlName);
ctl.val("my value");
//A workaround for buggy jquery.selectbox
ctl.siblings(".jquery-selectbox-currentItem").html($(ctlName + " option:selected").html());
【讨论】:
以上是关于使用 jquery.selectbox 时无法设置 SELECT 控件的值的主要内容,如果未能解决你的问题,请参考以下文章
css jQuery SelectBox插件的默认SCSS样式
有没有人用过 jquery 美化下拉列表的插件 jQuery.SelectBox.js ???有问题咨询
使用 UINavigationController 时 UIStackView 无法设置底部约束