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가 작동하지만 ComboBox의 값이 첫 번째 테이블 행 (
출처
2012-11-08 05:53:53 Arun
모든 요소의 ID가 동일하므로 (
size
)을하고 이런 식으로 JS 변경 :
는 PHP 코드를 변경출처
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
관련 문제