我编写了一些代码,以便在单击特定div时,将调用JavaScript函数将一些数据添加到数据库中。问题是该函数处于for循环中,因此当我单击它时,成功框将继续重新出现,当我将该方法置于循环之外时,它不起作用。这是代码:
for (i = 1; i <= data.length; i++) {
var objSkills = JSON.parse(data);
if (objSkills.skills[i - 1].idemetteur != <?php echo $me; ?>) {
$("div[class^='plus_']").click(function() {
var sk = $(this).attr("sk");
addSkillEndo(sk);
})
}
}
以下是div示例:
<div id="itemskill">
<div class="skilltext" id="skilltext_1301" value="1301">Bourse</div>
<div id="counter" class="plus_1301" em="1301" sk="82" style="">+</div>
</div>
<div id="itemskill">
<div class="skilltext" id="skilltext_1301" value="1301">Finance</div>
<div id="counter" class="plus_1301" em="1301" sk="83" style="">+</div>
</div>
答案 0 :(得分:0)
如果你给你的div一个独特的id,你可以尝试称它们为:
$("#skilltext_1301").click(function() {
var sk = $(this).attr("sk");
addSkillEndo(sk);
});
或者这样试试:
$(document).ready(function(){
$("div[class^='plus_']").click(function() {
var sk = $(this).attr("sk");
addSkillEndo(sk);
});
});
for (i = 1; i <= data.length; i++) {
var objSkills = JSON.parse(data);
if (objSkills.skills[i - 1].idemetteur != <?php echo $me; ?>) {
// do anything
}
}
附注:将你的for循环更改为:
for (i=0; i<data.length; i++){}
你可以在if语句中删除“ - 1”。