4

を使用してチェックボックスを反復しようとしているという、かなり奇妙な状況がありeachます。問題は、ループに入りたくないということです。

理由を教えてください。

これが機能です

function AddTheProduct() {
    var txtTopicsGuids = "";

    var checkedTopics = document.getElementsByName("chkRelatedTopics");
    $(checkedTopics).each(function() {
        if ($(this).is(":checked")) {
            //action
        }
    });

そしてマークアップ

{{each Items}}
    <tr>
        <td>
            <input type='hidden' name='hidTopicsDomain' value='${DomainObjectKey}'/>
            <input type='checkbox' name='chkRelatedTopics' value='${subject}'/>
        </td>
    </tr>
{{/each}}
4

3 に答える 3

2

JavaScript コードが機能するはずです。$.each問題はメソッドとは関係がなく、他の何かにあると思います。

jsFiddle で再作成したコードの簡単な例を次に示します。

テンプレートに問題があるか、それ以外の場所に問題があります。また、ベストプラクティスに関して他の回答で与えられたアドバイスを考慮に入れ、主に適切なセレクターを使用してgetElementsByName、それを実行してから jQuery オブジェクトにラップします。

于 2013-09-16T14:00:59.557 に答える