2014-01-20 44 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; 
    } 
    }); 
}); 
相關問題