如何在每个循环表行上发生模糊事件

时间:2014-07-12 05:20:55

标签: jquery

我有一个带动态循环行的表,里面有七个静态表数据(td),里面有这个表数据输入框。所以我想使用blur event(jquery)获取每个表数据输入的输入值。

这是我的PHP代码循环表格行

<table =”mytable”>
<?php foreach ($vendors_details as  $value) { ?>

   <tr class="temp">(

       <td class="magazineid"><?php echo $value->magazine_name; ?></td>
       <td class="allocated"><input type="text" id="disabledInput" name="allocate[]"  class="form-control" value="<?php echo $value->allocate;?>" disabled></td>
             <td class="add"><input type="text" name="add"  placeholder="add" class="form-control added" required></td>
             <td class="less"><input type="text" name="less[]" id="less"  class="form-control" required></td>
             <td class="returned"><input type="text" name="return[]" id="return"  class="form-control" required></td>
             <td class="paided"><input type="text" name="paid[]"  class="form-control" required></td>
             <td class="amounted"><strong><input type="text" id="amount" value="<?php echo $value->Amount;?>" disabled></strong></td>
  <td><input type="text" name="magazine_id[]" id="magazine_id" value="<?php echo $value->magazine_id; ?>" hidden ></td>

           </tr>
</table>

这是我的脚本

<script type="text/javascript">

$(document).ready(function(){
    $(document).on("click",".added",function(){
        if(!$(this).hasClass("hasadded")){
            $("#mytable").find("tr.temp").each(function(index){

                $(".added").blur(function(){
                    var userinput = $(".added").val();
                    setTimeout(function(){
                        console.log(userinput);
                    });
                });

            });
        }
    });
});
</script>

on myscript我试图通过“添加”类来获取表数据的值

它只返回第一个循环表行的表数据

请帮助,我在jquery中不太好

1 个答案:

答案 0 :(得分:0)

尝试:

$(document.ready(function() {
    $("#mytable").on("blur", "tr.temp .added:not(.hasadded)", function() {
        var userinput = $(this).val();
        setTimeout(function() {
            console.log(userinput);
        }, 1000);
    });
});

您无需在blur处理程序中添加click处理程序。使用.on委派它将自动处理使用AJAX动态加载的元素。

要将单元格设置为AJAX响应,您可以执行以下操作:

$(document.ready(function() {
    $("#mytable").on("blur", "tr.temp .added:not(.hasadded)", function() {
        var userinput = $(this).val();
        var cell7 = $(this).closest("td").siblings().eq(6).find("input");
        $.post("URL", { param: userinput }, function(result) {
            cell7.val(result);
        });
    });
});