我有一个动态循环从sql表中提取数据。当按下删除按钮时,如何获取保存到js变量中的特定mile_id
的值?值得注意的是,由于形式在循环内部,将有多种形式。
形式
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;
}
});
});
答案 0 :(得分:1)
This answer可能会让您感兴趣,以便从所选元素中检索值。
答案 1 :(得分: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;
}
});
});
答案 2 :(得分:0)
仅使用$('#mile_id').val()
$('#mile_id')
答案 3 :(得分: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;
}
});
});