[英]AJAX console.log is returning undefined
我的數據庫的while循環中有以下兩個輸入字段:
<input type="hidden" id="ID<?=$product['id'];?>" name="ID" value="<?
=$product['id'];?>">
<input type="hidden" id="name<?=$product['id'];?>" name="hidden_name"
value="<?=$product['title'];?>">
這是觸發AJAX的按鈕:
<input type="button" class="button" name="cartbtn" id="button<?
=$product['id'];?>" value="Quick Add-to-Cart">
我這樣做時會出現問題:
<script type="text/javascript">
$(document).ready(function(data){
$('.button').click(function(){
var product_id = $(this).attr('id');
var product_name = $('#name'+product_id).val();
console.log(product_name);
});
});
</script>
console.log(product_name);
返回未定義。
var product_id = $(this).attr('id');
沒有問題var product_id = $(this).attr('id');
如果我console.log(product_id)
則返回:“ button6”,例如(應如此)。
如果console.log(product_id)
返回button6
,則表明您的product_name
是namebutton6
。 我相信您希望它成為name6
由於您過於復雜,因此最簡單的方法是:
var product_name = $(`#name${product_id.slice(6)}`).val();
您可以使用slice(6)
方法刪除'button'
的前六個字符。
id="button<?=$product['id'];?>"
前面不應有“按鈕”,因此:
id="<?=$product['id'];?>"
是正確的。 我忘了,抱歉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.