2014-01-20 30 views
0

我有一个动态循环从SQL表中提取数据。如何在按下删除按钮时将特定的mile_id的值保存到js变量中?值得注意的是,由于窗体在循环内部,会有多种形式。返回表单值为js变量(多个表单在一个页面中)

形式

while($row = mysqli_fetch_array($result)){ 
    echo ' 
    <form> 
    <input type="hidden" id="mile_id" value="'.$row['mile_id'].'" /> 
    <input type="button" id="delete" value="DELETE'.$i.'" /> 
    </form>'; 
} 

JS

$(document).ready(function(){ 
    $('form #delete').click(function(e){ 
    var $mile_id = $('#mile_id') // this returns [object Object] 
    var yes = confirm("Are you sure?"); 
    if (yes){ 
     alert($mile_id); 
    } 
    else{ 
     return false; 
    } 
    }); 
}); 
+2

它返回'[对象的对象]'因为你使用'alert',一切都被字符串化。使用'console.log'进行调试。 – elclanrs

+0

id必须是唯一的,每一行都会有一个输入,其ID为mile_id。并从jquery中查看'val'来获取输入的值。 –

回答

0

你不需要隐藏的输入,你可以使用数据值和取jQuery中的价值。

while($row = mysqli_fetch_array($result)){ 
    echo ' 
    <form> 
    <input type="button" class="delete" value="DELETE'.$i.'" data-value="'.$row['mile_id'].'" /> 
    </form>'; 
} 

JS

$(document).ready(function(){ 
    $('form .delete').click(function(e){ 
    var $button = $(this) // this returns [object Object] 
    var yes = confirm("Are you sure?"); 
    if (yes){ 
    alert($button.data("value")); 
    } 
    else{ 
    return false; 
    } 
}); 
}); 
+0

正是我需要的。谢谢你的提示。 – Rob

+0

欢迎您:) –

1

This answer可能为了检索选定元素的值是对你有意思。

0

使用$('#mile_id').val()不是仅仅$('#mile_id')

0

当您提交表单,您可以检查PHP中的ID。 您可以编写一个查询服务器来删除id = $ _GET ['mile_id'](或$ _POST)的项目。

但你实际上问题是如何在js中获得价值。 你可以通过$(“#mile_id”)。val();

但是你想:

$(this).find("#mile_id").val();

编辑:因为你使用的id,你不能有多种形式。制作ID的类,让你的jQuery正确。

所以:

$(document).ready(function(){ 
    $('form .delete').click(function(e){ 
    var $mile_id = $(this).find(".mile_id").val(); //this returns you wants 
    var yes = confirm("Are you sure?"); 
    if (yes){ 
     alert($mile_id); 
    } 
    else{ 
     return false; 
    } 
    }); 
}); 
相关问题