0

私はこのコードを持っていますが、ステートメント内のものが少なくとも1回発生したかどうかを確認するためcheckに使用している変数のため、jqueryに変換する方法がわかりません。多くのラジオボタンの名前タグです。ifgph_img_list

    var check = false;
    for (var i=0; i < gph_img_list.length; i++) { 
        if (gph_img_list[i].value == var_gph_img.innerHTML) { 
            gph_img_list[i].checked = true;
            check = true;               
            break;
        }
    }
    if (!check) {
        var_gph_img.innerHTML = "";
    }
4

2 に答える 2

1

これをjQueryに変換することで何が得られるかはわかりませんが、これまでに示したことに基づいて、実用的な場合は常にjQueryを使用して同じタスクを実行する必要があります。

var text = $(var_gph_img).html();
var check = false;
$(gph_img_list).each(function() {
    if (this.value == text) {
        check = true;
        $(this).prop("checked", true);
        return(false);  // stop the .each() loop
    }
});
if (!check) {
    $(var_gph_img).html("");
}

これをさらに効率的に実行したい場合は、HTMLを表示して、ほとんどの作業を実行するjQueryセレクターを考案できるようにする必要があります。

于 2012-07-17T19:13:09.410 に答える
0

フィルタ機能を使用してください...

​var check = $(gph_img_list).filter(function (index, element) {
    return element.value === var_gph_img.innerHTML;
}).first().attr("checked", true).length > 0;

if (!check) { var_gph_img.innerHTML = ""; }

これは、テキストが一致しないためにチェックボックスがオンになっていないフィドルです。(divの「a」をx、y、またはzに変更して、違いを確認します)

これは、テキストが一致するためにチェックボックスがオンになっているフィドルです。

于 2012-07-17T19:20:44.313 に答える