使用jquery.selectbox时无法设置SELECT控件的值

时间:2012-03-02 06:46:50

标签: jquery-plugins drop-down-menu set jquery-selectbox

当使用jquery.selectbox.js插件制作精美的SELECT下拉列表时,我遇到了一个问题,我无法使用JQuery选择当前值:$(“#select_id”)。val(“my value”);

可能的解决方案是删除$('#select_id')。selectbox();打电话,但我失去了设计。

怎么办?

调查:

使用jquery.selectbox时,页面上隐藏了真正的下拉列表,只有jquery.selectbox生成的表示元素才可见(实际上它们是DIV)。问题是当更新.val()时,相应的可见DIV(带有class =“jquery-selectbox-currentItem”)不会更新。

4 个答案:

答案 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);