0

ユーザーがドロップダウンリストから選択したものに基づいて、JQuery 1.5 を使用してチェックボックスを動的にチェックしようとしています。リストが変更されると、次の関数に戻ります。

function displaySystemResults(html){
    var v = html.split(",");
    document.getElementById('fUpdateSystemName').value = v[0];
        if (v[1] == "true"){
            alert("true");
            $('#fUpdateActiveFlag').setAttribute('checked','checked');
        }
    }

ドロップダウン リストは次のとおりです。

<td valign="top"><form:checkbox path="fUpdateActiveFlag"
name='fUpdateActiveFlag' value="checked" />&nbsp;</td>

ボックスにチェックを入れるためのチェックボックスを取得できません。誰かが私が間違っていることを見つけることができますか? trueに設定する必要があるときにアラートボックスが表示されているため、setAttributeメソッドにヒットしていることがわかります。

4

1 に答える 1

2

$('#fUpdateActiveFlag')IDセレクターです。

チェックボックスに追加します

<td valign="top"><form:checkbox ID="fUpdateActiveFlag" path="fUpdateActiveFlag"
name='fUpdateActiveFlag' value="checked" />&nbsp;</td>

また、jQuery関数が正しくありません。setAttributeは JavaScript 関数ですが、jQuery セレクターを使用しているように見えます。したがって、選択するオブジェクトは jQuery オブジェクトであり、 というメソッドがsetAttributeなく、代わりに を使用します.attr()

$('#fUpdateActiveFlag').attr('checked','checked')

実際の例を参照してくださいhttp://jsfiddle.net/ruslans/8xp9g/

編集: 以下の @Dementic のコメントに従って、name属性を使用し続けることができますが、セレクターを次のように変更する必要があります。

$('[name="fUpdateActiveFlag"]').attr('checked','checked');

実際の例を参照してください: http://jsfiddle.net/ruslans/A4D8f/

于 2013-03-07T10:19:19.343 に答える