0

我有这段代码,但我不确定如何将其转换为 jquery,因为check我使用该变量来查看if语句中的内容是否至少发生过一次。gph_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 回答