选择默认情况下使用jQuery选择一个选项

时间:2012-02-06 13:42:29

标签: javascript php jquery html jquery-selectors

我有一个带选项的选择框,我在Zend View上使用jQuery“Chosen”。这个插件工作正常。

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

我的问题是我需要在页面加载时选择其中一个选项,具体取决于type_id的值。我试过这个:

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

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

有什么想法吗?


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

6 个答案:

答案 0 :(得分:60)

使用JS

更新列表

运行后:

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

对于选择版本1及更高版本(更新版本)

你应该致电:

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

取自Chosen documentation

  动态更新选择      

如果您需要更新选择字段中的选项并希望选择选择更改,则需要在该字段上触发“selected:updated”事件。 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");
  •   

在调用Chosen

之前设置值

除了在JS中执行此操作之外,为什么不在使用JavaScript调用Chosen插件之前在HTML中设置所选选项?你是从一块PHP设置值,所以我不明白为什么不能这样做。

答案 1 :(得分:6)

您可以使用如下选择的属性设置正确的元素:

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

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

答案 2 :(得分:3)

试试这个:

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

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

答案 3 :(得分:2)

试试这个:

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

答案 4 :(得分:0)

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

试试吧

答案 5 :(得分:-1)

尝试以下方法:

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