JQuery自定义选择 - val()不起作用

时间:2014-06-11 09:56:11

标签: jquery select

我在使用customSelect的下拉列表时遇到问题。 当我打电话

$('#select_id').val('optionValue');

所选选项不可见。 有一个例子http://jsfiddle.net/7ttWj/520/

我也试过“.trigger('update');”,但也不行。

你能帮忙吗? 提前致谢

8 个答案:

答案 0 :(得分:2)

您只需更改订单即可。在调用customSelect()

之前设置该值

http://jsfiddle.net/7ttWj/521/

$('.styled').val('three');
var $cs = $('.styled').customSelect();

答案 1 :(得分:2)

上述所有答案都错误。再次呼叫.customSelect()将重新呈现控件,但它们将被冻结。

正确的方法是强制使用.trigger()

重新渲染
$("#myCustomSelect").val("myvalue");
$("#myCustomSelect").trigger("render");

答案 2 :(得分:2)

组件有render trigger,您应该在更改值后使用{<3}}:

$('#select_id')
  .val('three')
  .trigger('render.customSelect');

Demo

答案 3 :(得分:0)

在您的示例jsFiddle中,如果您只是将jQuery选择器更改为$ cs,则将其更改为

var $cs = $('.styled');
$cs.val('three');

然后它工作正常

答案 4 :(得分:0)

这是你小提琴的工作代码 -

var $cs = $('.styled');
$cs.val('three');
$cs.customSelect();

答案 5 :(得分:0)

按照此顺序使用自定义选择。

设置值。

1.如果已经初始化,首先销毁自定义选择。

  $('#select_id').customSelect('destroy');

2.设置值

 $('#select_id').val('1');

3.重新初始化自定义选择

 $('#select_id').customSelect();

答案 6 :(得分:0)

非常容易尝试这个

$(&#34;#select_id&#34)。customselect(&#39;选择&#39;,1);

答案 7 :(得分:-2)

<强>问题:

Jquery CustomSelect不会更改select。

来源数据:

CustomSelect主页: http://rixth.github.io/customSelect/

<强>决定:

我花了很多时间来解决这个问题,但我发现标准功能不允许使用“customSelect效果”更改选择。

唯一的工作决定是为此目标编写自己的代码(技巧)。

这是我的代码在所有常见浏览器(Firefox,Opera,Chrome,IE 11,Ipad Safari)中都能正常运行:

1步:里面隐藏div创建选择没有customSelect效果:

<!-- bug fixation with custom select -->
<div style="display:none">

<div id="ad-for-replacement">
<select name="ad" class="combobox ad">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</div>

</div>
<!-- /bug fixation with custom select -->

2步:为用户创建HTML代码:

<td class="for-ch">
<select name="ch" class="combobox ch">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</td>

3步:初始化customSelect:

$("td .combobox").customSelect();

4步:在jquery上编写实现:

$(document).ready(function(){
   $(document.body).delegate('.for-ad .ad', "change", function(){
       var option = $(this).val(); // console.log('option: ' + option);
       var content = $('#ad-for-replacement').html(); // console.log(content);
       $('.for-ad').html(content);
       $('.for-ad option:contains("' + option + '")').prop('selected', true);
       $(".for-ad .combobox").customSelect();
    })
});