[英]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.