当使用jquery.selectbox.js插件制作精美的SELECT下拉列表时,我遇到了一个问题,我无法使用JQuery选择当前值:$(“#select_id”)。val(“my value”);
可能的解决方案是删除$('#select_id')。selectbox();打电话,但我失去了设计。
怎么办?
调查:
使用jquery.selectbox时,页面上隐藏了真正的下拉列表,只有jquery.selectbox生成的表示元素才可见(实际上它们是DIV)。问题是当更新.val()时,相应的可见DIV(带有class =“jquery-selectbox-currentItem”)不会更新。
答案 0 :(得分:3)
不是最佳解决方案,但是你提出的解决方法更干净,试试这个(基本上,强制selectBox更新其html):
$("#order_billing_region").val("your value").selectBox("options", $("#order_billing_region").html());
答案 1 :(得分:0)
我发明了一种解决方法:
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());
答案 2 :(得分:0)
我找到了一种解决方法,我们可以分离选择框,然后设置值并将selectbox插件再次附加到下拉列表中。
function fnClearJquerySelectBox(control,value)
{
$("#order_billing_region").selectbox("detach");
$("#order_billing_region").val(value);
$("#order_billing_region").selectbox("attach");
}
fnClearJquerySelectBox("control","0");
希望这会有所帮助..
答案 3 :(得分:0)
我发现以下内容: https://github.com/marcj/jquery-selectBox/blob/master/readme.md
代码:$('select')。选择Box('value',1);