选择默认选择一个选项与jQuery

问题描述:

我有一个选择框的选项,我在Zend视图上使用jQuery“选择”。这个插件工作正常。选择默认选择一个选项与jQuery

Javascript: 
$('#select_type').chosen(); 

我的问题是我需要的页面加载取决于什么TYPE_ID的值时选择的选项之一。我试过这个:

document.getElementById('select_type').value = '<?=$this->type_id?>'; 

这改变了它的值,但在选择的JQuery中未选择该选项。

任何想法?


编辑:该选项通过做我上面提到的成功改变,但它不更新/更改jQuery“选择”插件中选定的元素。我的问题是关于更新jQuery的选定值选择不是HTML SELECT(我已经成功完成)。 Here is a link to jQuery Chosen plugin

+0

这不是两个单独的问题?提供的jQuery与该值无关,反之亦然。 – 2012-02-06 13:45:57

更新列表与JS

在运行:

document.getElementById('select_type').value = '<?=$this->type_id?>'; 

对于所选择的版本1及以上(更新)

你应该叫:

$('#select_type').trigger('chosen:updated'); 

Chosen documentation摘自:

更新获选动态

如果您需要在您的选择字段更新选项,并要选择拿起变化,你需要触发“选择:更新“现场的事件。 Chosen会根据更新的内容重新构建自己。

$("#form_field").trigger("chosen:updated");

这个API变化的公告见the change log

对于所选择的版本低于1(以上)

你应该叫:

$('#select_type').trigger('liszt:updated'); 

Chosen documentation摘自:

更新选上的动态

如果您需要更新的选项在您选择的字段中,并且想要选择 来选择更改,您需要触发“liszt:updated” 赛场上的事件。 Chosen会根据更新后的 内容重新构建自己。

  • jQuery的版本$("#form_field").trigger("liszt:updated");
  • 原型版本Event.fire($("form_field"), "liszt:updated");

调用选的

而不是从JS在此之前将值设置你为什么不在调用Chosen之前,只需在HTML中设置选定的选项即可插件与JavaScript?你正在设置一块PHP的值,所以我不明白为什么不能这样做。

+0

非常感谢:)这工作。 – ShayanK 2012-02-06 14:17:33

+0

这太棒了!我需要对DOM执行'change()'操作,但是'

+0

从版本1.0开始,触发器现在被“选择:更新”。看到http://harvesthq.github.io/chosen/#change-update-events – Tony 2013-08-07 21:30:46

$('#select_type').val('<?=$this->type_id?>'); 

尝试

+0

感谢yapingchen,但我知道如何设置一个选项,我需要选择我上面提到的插件 – ShayanK 2012-02-06 14:18:16

+0

$('#select_type')。val('=$this-> type_id?>'); – yapingchen 2012-02-08 01:22:03

+0

$('#select_type')。change(); – yapingchen 2012-02-08 01:22:19

试试这个:

$('#select_type').val('<?=$this->type_id;?>'); // Select the value before .chosen(); 
$('#select_type').chosen(); 

只需将带有属性正确的元素中,像这样:

<select name="teams[]" data-placeholder="Chose an option:" 
     class="chzn-select" multiple tabindex="6"> 
    <option value=""></option> 
    <option selected="selected">Dallas Cowboys</option> 
    <option selected="selected">New York Giants</option> 
    <option>Philadelphia Eagles</option> 
    <option>Washington Redskins</option> 
</select> 

选上的会照顾到自身初始化和显示两个预选的选择。

+0

谢谢你!它帮助了很多...... – 2017-06-06 05:03:08

试试这个:

$("#select_type").val(<?=$this->type_id?>).trigger('change'); 

$('#select_type').trigger('liszt:updated'); 

尝试以下操作:

$("#choen-presentacion").val(value.id_presentacion).trigger('chosen:updated')