显示循环警报框

时间:2014-08-27 10:55:39

标签: javascript jquery css

我编写了一些代码,以便在单击特定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>

1 个答案:

答案 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”。