如何使用jQuery的“数据”取消选中复选框?

时间:2012-02-13 16:11:37

标签: jquery

我正在使用jQuery 1.7.1

我正在尝试使用微数据属性“data-prodid”访问页面上的多个项目。我被告知我应该使用jQuery的“数据”属性,但我无法让它正常工作。

<input type="checkbox" data-prodid="12345">

在点击事件中,取消选中该复选框:

// UNCHECK ITEM IN LIST
var Product_ID = $(this).data("prodid");
$(".Product[data-prodid="+Product_ID+"]").attr("checked", false);

如何使用jQuery的“data”属性重写这些内容?

// UNCHECK ITEM IN LIST
var Product_ID = $(this).data("prodid");
$(".Product").data("prodid").eq(Product_ID).data("checked", false);
$(".Product").data("prodid", Product_ID).attr("checked", false);

是否有正确的方法或错误的方法来做到这一点?

3 个答案:

答案 0 :(得分:2)

这听起来像是使用filter方法的完美案例。

var productID = $(this).data("prodid");
var $relatedProducts = $('.product').filter(function() { 
  return $(this).data("prodid") == productID;
});
$relatedProducts.attr("checked", false);

Example fiddle

答案 1 :(得分:0)

试试这个:

$("input[data-prodid='12345']").attr("checked", false);

答案 2 :(得分:0)

这可能有效:点击或更改功能从复选框中获取数据,检查并使用attr使其为假。

            $(".test").click(function() {
              var productID = $(this).data("prodid");
              $("input[data-prodid="+productID+"]").attr("checked", false);
            }