jQueryを使用してデフォルトでオプションを選択

私はオプションのある選択ボックスを持っており、Zend ViewでjQuery "Chosen"を使用しています。このプラグインは正常に動作しています。

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

私の問題は、type_idの値が何であるかによってページが読み込まれるときに、オプションの1つを選択する必要があるということです。私はこれを試した:

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

これはその値を変更しますが、JQueryで選択されたオプションは選択されません。

何か案は?


EDIT: The option successfully changes by doing what I have mentioned above but it does not update/change the selected element in jQuery "chosen" plugin. My question is about updating the selected value for jQuery Chosen not the HTML SELECT (which I have done successfully). Here is a link to jQuery Chosen plugin

25
この2つの別々の問題ではありませんか?提供されるjQueryは値とは無関係であり、その逆もあります。
追加された 著者 Grim...,

6 答え

JSでリストを更新する

実行後:

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

選択したバージョン1以上(新しい)

電話する必要があります:

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

選択したドキュメントから

選択された動的更新      

選択したフィールドのオプションを更新し、Chosenに変更を反映させる必要がある場合は、フィールドで「選択:更新済み」イベントをトリガーする必要があります。 Chosenは更新されたコンテンツに基づいて自身を再構築します。

     trigger( "selected:updated");

$( "#form_field"

このAPI変更の発表については、変更履歴をご覧ください。

選択したバージョンが1(古い)の場合、

電話する必要があります:

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

選択したドキュメントから

Updating Chosen Dynamically

If you need to update the options in your select field and want Chosen to pick up the changes, you'll need to trigger the "liszt:updated" event on the field. Chosen will re-build itself based on the updated content.

  • jQuery Version: $("#form_field").trigger("liszt:updated");
  • Prototype Version: Event.fire($("form_field"), "liszt:updated");

Chosenを呼び出す前に値を設定する

JavaScriptでChosenプラグインを呼び出す前に、JSでこれを行うのではなく、HTMLで選択したオプションを設定するだけでいいのですか? PHPの値を設定しているので、なぜこれができないのかわかりません。

58
追加された
おかげでたくさん:)これは動作します。
追加された 著者 ShayanK,
@トニーはそれに言及してくれてありがとう。これらの変更がAPIに反映されるように私の回答を更新しました。
追加された 著者 Treffynnon,
それはうまくいった
追加された 著者 Gandarez,
どうもありがとうございます...これはうまくいきます。
追加された 著者 Rizaldi Maulidia,
これは素晴らしい! DOM上で change()を操作する必要がありましたが、

選択された2つの選択肢が表示されます。

6
追加された
ありがとう!それはalotを助けた...
追加された 著者 Zain I.,

これを試して:

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

$('#select_type').trigger('liszt:updated');
3
追加された

これを試して:

$('#select_type').val('<?=$this->type_id;?>');//Select the value before .chosen();
$('#select_type').chosen();
1
追加された

以下を試してください:

$("#choen-presentacion").val(value.id_presentacion).trigger('chosen:updated')
1
追加された
$('#select_type').val('<?=$this->type_id?>');

それを試してみてください

0
追加された
ありがとうyapingchenしかし、私は選択されたオプションを設定する方法を知っている私は上記のプラグインで選択が必要
追加された 著者 ShayanK,
$( '#select_type')。val( '<?= $ this-> type_id?>');
追加された 著者 yapingchen,
$( '#select_type')。change();
追加された 著者 yapingchen,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript