Javascript AJAX console.log返回未定义的

Javascript AJAX console.log返回未定义的,javascript,ajax,undefined,console.log,Javascript,Ajax,Undefined,Console.log,我在数据库的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'];?>

我在数据库的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'];?>">
id=“按钮”
前面不应有“按钮”,因此:

id="<?=$product['id'];?>" 
id=“”
这是正确的。对不起,我忘记了。

id=“button”
前面不应有“按钮”,因此:

id="<?=$product['id'];?>" 
id=“”
这是正确的。对不起,我没有注意到。

如果
console.log(product\u id)
返回
button6
,这意味着您的
产品名称是
namebutton6
。我相信您希望它是
name6

由于您将其过度复杂化,最简单的方法是:

var product_name = $(`#name${product_id.slice(6)}`).val();
如果
console.log(product\u id)
返回
button6
,则使用
slice(6)
方法删除前六个字符,这六个字符是
'button'

。我相信您希望它是
name6

由于您将其过度复杂化,最简单的方法是:

var product_name = $(`#name${product_id.slice(6)}`).val();

您使用
slice(6)
方法删除前六个字符,它们是
'button'

所以,您要说的是,
$('namebutton6')
正确返回了0个元素?所以,您要说的是,
$('namebutton6')
正确返回了0个元素?实际上它可能应该,但是您应该删除前缀来构造
product\u id
。实际上可能应该删除前缀,但是您应该删除前缀来构造
product\u id
var product_name = $(`#name${product_id.slice(6)}`).val();