0
我的代碼出現問題。我想在組合框的值更改時更改價格,但在while循環處理程序中,只處理第一個錶行。當從組合框更改值時更改價格PHP
<script type="text/javascript">
$(document).ready(function() {
$('#size').change(function() {
//alert("aaa");
var x = $('#size').attr('value');
//alert(x);
$.ajax({
type: "POST",
url: 'sizeChange.php',
data: 'size =' + size,
success: function (data) {
alert(data);
}
})
});
});
</script>
<div id="price">
<table border="1" width="200px">
<tr>
<td> Size </td>
<td> Product</td>
<td>Price</td>
</tr>
<?
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$query = mysql_query("select * from pricetest");
if(!$query)
{ die(mysql_error());}
else
{
while($row = mysql_fetch_array($query))
{
echo "<tr> ";
?>
<td>
<select name="size" id="size">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
<td> <? $row['pd_name']; ?> </td>
<td> <? $row['price'];
}
}?>
</td>
</tr>
</table>
</div>
我會做什麼錯?
喔!抱歉的人,但實際問題不是這樣。實際上,當我運行這段代碼的時候,jquery和ajax正在工作,但是隻有在第一個錶行(
來源
2012-11-08 05:53:53 Arun
這是因爲你所有的元素都有相同的id(
size
)。更改你的PHP代碼:
,改變JS的東西是這樣的:
來源
2012-11-08 06:55:22 qais
感謝哥們,但現在我無法在jquery代碼中將價格和名稱的價值轉移到其他頁面上。我用var price = $('。pd_name')。attr('value'); – nitin7805
有幾個類爲'.pd_name'的字段,所以你必須抓住父'tr'的'.pd_name'單元''(this).closest('tr')。'find('td .pd_name')' – qais
相關問題