1

http://abeautifulsite.net/notebook/62から jquery 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>  
4

1 に答える 1

0

クリックイベントをトリガーする前にchecked属性を設定し、その後もchecked属性を設定する必要があるようです。私はそれをさらに調査するつもりですが、それまでの間、ここに解決策があります

実例

関連する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;" />
于 2009-06-02T22:31:39.810 に答える