2017-08-13 22 views
0

我有一段代碼,其中的元素是在for循環(PHP)中生成的。該代碼是:如何讀取在PHP中生成的元素的值foreach

for($i=0; $i < $count; $i++) 
{ 
    $member = $my_array[$i]; 
    <td><span id="myspan"><input type="text" id="username" value="<?php echo $member; ?>" /></span></td> 
} 

在我的jQuery代碼,我想讀的點擊的元素的值,但它返回的第一個元素的值,而不是點擊的元素的值。我想這是因爲每個元素的ID是相同的。但是,那麼如何獲得點擊元素的價值?

我jQuery代碼是:

$("#myspan").click(function(){ 
alert(username); 
}); 

任何指針會大加讚賞?

回答

0

改變ID命名<span name="myspan$i">get your span by name like this answer。最後移動你的點擊代碼進行循環

for($i=0; $i < $count; $i++) 
{ 
    $member = $my_array[$i]; 
    <td><span name="myspan"><input type="text" id="username" value="<?php echo $member; ?>" /></span></td> 

$('[name="myspan$i"]').click(function(){ 
    YOUR CODE 
}); 
} 
+0

跨度上的'name'屬性絕對是無效的HTML。 – jackarms

+0

在正確的方向。基本上我所要做的就是將代碼移到for循環中,並用<?php echo $ I附加每個標識符; ?>。那做了這個工作。謝謝 – coderatlarge

0

而不是給每個元素相同的ID,給他們所有相同的類,例如,

<span class="myspan" ...> ... </span> 

然後通過類,而不是通過ID與jQuery靶向元素,如:

$('myspan').click(function (event) { 
    var input = $(event.target).find("input"); 
    alert(input.val()); 
} 
+0

不起作用。警報顯示'undefined' – coderatlarge

+0

嘗試調試?或者上傳一個jsfiddle或者其他東西也會很有幫助。 – jackarms

0

將jQuery代碼移動到for循環中,並附加每個標識符echo $ I;

相關問題