增加id jquery

时间:2014-05-08 16:21:39

标签: javascript jquery html

我有一个复选框,它是一个div,如果点击它就会更改类。它以check unchecked作为类开头。如果已点击,我们会添加checked类来更改背景。

我在这个div中添加了一个id;它从check0开始,直到check(number of my data)。 此div包含另一个div,其中包含picture等文本,并由check_txt0标识check_txt(number of my data)

JS

$(document).ready(function () {
    $(".check").click(function () {
        if ($(this).hasClass("checked")) {
            $(this).removeClass("checked");
        } else {
            $(this).addClass("checked");
        }
    });
});

所以,我希望获得check_txt(i)值;我添加了这个脚本:

$(document).ready(function () {
    $(".check").click(function () {
        if ($(this).hasClass("checked")) {
            for (i = 0; i < 40; i++) {
                if ($('#check' + i).hasClass("checked")) {
                    var resultat = $('#check_txt' + i).val();
                    alert(resultat);
                }
            }
        }
    });
});

但它没有提醒任何事情,并且在我第一次点击时没有提醒。它只在我第二次重新点击时才会这样做。这可能是因为它在第一次点击时无法识别checked类。

的jsfiddle: http://jsfiddle.net/BGQzm/2/

4 个答案:

答案 0 :(得分:0)

尝试:

$(document).on('click', '.check', function(event) {
     var target = event.target;

     if($(target).prop('checked',true)){
       alert($(target).val());
     }

});

答案 1 :(得分:0)

在类更改后调用results-getting-bit,如下所示:

function getResults() {
    for (i = 0; i < 40; i++) {
        if ($('#check' + i).hasClass("checked")) {
            var resultat = $('#check_txt' + i).val();
            alert(resultat);
        }
    }
}

$(document).ready(function () {
    $(".check").click(function () {
        if ($(this).hasClass("checked")) {
            $(this).removeClass("checked");
            getResults();
        } else {
            $(this).addClass("checked");
        }
        // or call getResults() here instead if you want it to happen whether the box was checked or unchecked.
    });
});

答案 2 :(得分:0)

对不起古代的jsfiddle; 他们是最新的: http://jsfiddle.net/bnDeK/

$(document).ready(function(){
 $(".check").click(function() {
    if($(this).hasClass("checked")){
    for(i=0;i<40;i++){
    if($('#check'+i).hasClass("checked")){
    var resultat = $('#check_txt'+i).val();
    var data = 'motclef=' + resultat;
    alert(resultat);
    }
    }


    }

 });

});

$(document).ready(function() {

  $(".check").click(function() {
if($(this).hasClass("checked")) {
    $(this).removeClass("checked");
}
else {
    $(this).addClass("checked");
}
});

});

答案 3 :(得分:0)

您的代码没有任何问题,因为您优先考虑代码的方式应该是上面调用的代码

$(document).ready(function () {
    $(".check").click(function () {
        if ($(this).hasClass("checked")) {
            $(this).removeClass("checked");
        } else {
            $(this).addClass("checked");
        }
    });
});

此后一切工作

$(document).ready(function(){
     $(".check").click(function() {
        if($(this).hasClass("checked")){
        for(i=0;i<40;i++){
        if($('#check'+i).hasClass("checked")){
        var resultat = $('#check_txt'+i).html();
        var data = 'motclef=' + resultat;
        alert(resultat);
        }
        }


        }

     });


});