我有一个复选框,它是一个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/
答案 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);
}
}
}
});
});