选择使用jQuery默认选择一个选项


Chosen select an option by default with jQuery

我有一个带选项的选择框,我在Zend视图上使用jQuery"Chosen"。这个插件运行良好。

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

我的问题是,当页面加载时,我需要根据type_id的值选择其中一个选项

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

这将更改其值,但在所选的JQuery中未选择该选项。

有什么想法吗?


编辑:通过执行我上面提到的操作,该选项成功地更改了,但它不会更新/更改jQuery"selected"插件中的选定元素。我的问题是更新jQueryChosen的选定值,而不是HTMLSELECT(我已经成功地完成了)。以下是jQuery Chosen插件的链接

使用JS更新列表

运行后:

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

适用于选择的版本1及以上(更新)

您应该致电:

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

取自所选文件:

动态更新所选内容

如果您需要更新选择字段中的选项,并希望Chosen选择更改,则需要在字段上触发"selected:updated"事件。Chosen将根据更新的内容重新构建自己。

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

有关此API更改的公告,请参见更改日志。

适用于1以下的选定版本(旧版本)

您应该致电:

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

取自所选文件:

动态更新所选内容

如果您需要更新选择字段中的选项并希望选择要获取更改,您需要触发"liszt:updated"现场事件。Chosen将根据更新的所容纳之物

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

在调用Chosen之前设置值

与其从JS中这样做,为什么不在用JavaScript调用Chosen插件之前,在HTML中设置所选选项呢?您正在从一段PHP中设置值,所以我不明白为什么不能这样做。

您只需设置正确的元素,并选择如下属性:

<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>

Chosen将注意初始化自身并显示两个预先选择的选项。

试试这个:

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

试试这个:

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

试试

尝试以下操作:

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