0

私はJqueryでHarvestが選択したプラグインを使用しています。すべてが正常に機能し、オプションの1つを選択すると、いくつかのスタイルが適用されて選択されます。使用しています(単一選択で選択解除を許可):link

問題は、ページを更新するときに、選択した値を再レンダリングしたいということです。

Chosen.result_activate()やChosen.result_select()などのメソッドでChosenプロパティを理解しようとしましたが、使用方法がわかりません。

これが私のhtmlです:

        <div id="container">
    <div class="side-by-side clearfix">
           <div class="side-by-side clearfix">
        <select id ="combooptions" data-placeholder="Search drafts" style="width:200px" class="chzn-select-deselect" tabindex="7">
          <option value=""></option>
 </select><span style="margin-left:5px;cursor:pointer;color:blue;text-decoration:underline;" id="draftInsert"> Insert</span>
      </div>
    </div>
   </div> 

編集:

実際、私のサンプルはjQuery(document).ready()ではなく、常にリロードされる別の関数にあります。実際には、ページの更新ではなく、updatepanelの更新です。誤解して申し訳ありません。私のページはドキュメントをリロードしていません。

そしてここに私のjsがあります:

    var saveseleted='';
    jQuery(document).ready(function ($) {

    for (var i in combonews) {
            jQuery("#combooptions").append("<option value='" + combonews[i][0] + "'>" + combonews[i][1] + "</option>");
               }

        jQuery(".chzn-select-deselect").chosen({ allow_single_deselect: true });

jQuery('#combooptions').change(function () {
        saveseleted= jQuery("#combooptions :selected").val();
    });
    });

次に、ページを更新した後、「saveselected」オプションの値を自動的に再選択する必要があります。

私を助けてください、

アップデート:

jQuery("#combooptions option").eq(saveseleted).attr('selected', 'selected');

動作しません

4

1 に答える 1

3

これが答えになると思います:

 jQuery("#combooptions").val(saveseleted);  //update the value first

 jQuery("#combooptions").trigger("liszt:updated");   //trigger this event

このトリガー イベントにより、プラグインが強制的に更新されます。

于 2013-02-21T16:01:46.623 に答える