2009-06-02 12 views
1

jquery multiselectコントロールを使用しています:http://abeautifulsite.net/notebook/62Jquery Multiselect - イベントを手動でトリガーしますか?

特定のイベントでjavascriptを使用して手動でオプションの1つをチェックする必要があります。

クリック属性を変更しようとしたり、クリック機能を明示的に呼び出すと、チェックボックスがオンになりますが、CSSは変更されず、テキストボックスは現在選択されている要素でリフレッシュされません)。

例: javascriptコードで 'TRA'値のチェックボックスをオンにして、正しく動作することを確認するにはどうすればよいですか?

<input class="multiSelect" type="text" style="cursor: default;" value="" readonly="readonly"/> 

<div class="multiSelectOptions" style="position: absolute; z-index: 99999; display: none;"> 
    <label class="selectAll"> 
     <input class="selectAll" type="checkbox"/> 
     (All) 
    </label> 
    <label> 
     <input type="checkbox" value="ADP" name="Attributes"/> 
     Adaptation 
    </label> 
    <label> 
     <input type="checkbox" value="TRA" name="Attributes"/> 
     Translation 
    </label> 
</div> 

答えて

0

clickイベントをトリガーする前にchecked属性を設定してから、checked属性も設定する必要があるようです。私はさらにそれに見に行くが、その間に、ここでの解決策だ

Working Example

関連のjQueryコード

$(function() { 
    $('#sample').multiSelect(); 
    $('#check').click(function() { 
     $('input[type="checkbox"][value="TRA"]') 
      .attr('checked',true) 
      .trigger('click') 
      .attr('checked',true); 
    }); 
    $('#uncheck').click(function() { 
     $('input[type="checkbox"][value="TRA"]') 
      .attr('checked',false) 
      .trigger('click') 
      .attr('checked',false); 
    }); 
}); 

関連するHTML

<select id="sample" multiple="multiple"> 
    <option value=""/> 
    <option value="ADP">Adaptation</option> 
    <option value="TRA">Translation</option> 
</select> 
<br/> 
<input id="check" type="button" value="Check TRA" style="margin-left: 250px; width: 100px;" /> 
<br/> 
<input id="uncheck" type="button" value="Uncheck TRA" style="margin-left: 250px; width: 100px;" /> 
+0

うん、このよ完璧に動作します。 私はまだチェックされた属性の二重のセットが必要な理由を理解できませんが。 答えをありがとう! –

関連する問題