簡體   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