JQuery绑定多个相同的名称ID

时间:2017-06-06 10:04:05

标签: php jquery ajax bind

我有一个PHP生成的表

<div class="mailbox-list">
    <ul>
    <?php while ($row=$database->fetch_array($result)){?>
        <li id="emal_new" name="<?php echo $row["id"];?>">
            <a href="#" >
            <div class="mail-checkbox">
                <input class="filled-in" id="<?php echo $row["id"];?>" type="checkbox">
                <label for="<?php echo $row["id"];?>"></label>
            </div>
            <h5 class="mail-author">VPN Access Manager</h5>
            <h4 class="mail-title"><?php echo $row["naslov"]; ?></h4>
            <p class="hide-on-small-and-down mail-text">
            <?php $poruka_kratka = clear_mail($row['poruka']);
            echo text($poruka_kratka,"75")?></p>
            <div class="position-top-right p f-12 mail-date"><?php echo $row["datum"]; ?></div>

            </a>
        <div id ="user-result" />
        </li>

    <?php }?>  
    </ul>
</div>

我的JQCODE是:

<script>
$(document).ready(function() {
var x_timer;    
$("#emal_new").bind('click', function (e){
clearTimeout(x_timer);
var email_id = $(this).attr("name");
x_timer = setTimeout(function(){
check_email_id_ajax(email_id);
}, 100);
});


function check_email_id_ajax(email_id){
$("#user-result").html('<img style="width: 24px; height:24px;" src="<?php echo WWW; echo 'includes/themes/'.THEME_NAME.'';?>/img/ajax.gif" />');
$.post('ajax/mailbox.php',{'email_id':email_id}, function(data) {
$("#user-result").html(data);
});
}

});
</script>

我在表中有大约30个以上的数据,并且只有第一个在表中使用该jquery绑定?如何绑定所有

  • 对象?

    当我点击表格中的某一行时,我需要调用ajax,以获取有关按名称调用的该行的更多信息。

    谢谢!

  • 1 个答案:

    答案 0 :(得分:1)

    这是预期的行为,因为HTML中的标识符必须是唯一的,使用公共类绑定事件处理程序,我还建议您使用data-*前缀自定义属性来存储任意数据,可以使用{ {1}}

    将HTML更改为

    .data()

    脚本

     <li class="emal_new" data-name="<?php echo $row["id"];?>">
         <div class="user-result"></div>
     </li>
    

    也不推荐使用.bind()。自jQuery 1.7

    以来,它被.on()方法取代,用于将事件处理程序附加到文档