繁体   English   中英

AJAX console.log返回未定义

[英]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_namenamebutton6 我相信您希望它成为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM