这是一个显示表单的操作:从数组里面获取数据,然后用html的table显示出来。我在每一行的最后加了一个select list,希望通过手动选择,能够改变表单中某一列的值,并且传到后台,更新数据库。我已经获取到每一行的id,同时选择的值,但是在用$.ajax POST方法传递到"Test9.php"的时候,用echo 方法打印传递的数据,没有任何显示。是不是说明没有传递成功呢,应该怎么修改,求教各位!下面是具体的代码:
<?php
$testArray = array(
array('0', 'name1', 'status1'),
array('1', 'name2', 'status2')
);
?><html>
<head>
<script type="text/javascript" src="JavaScript/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').change(function () {
var rowIdVal = $(this).attr('id');
var statusVal = $(this).val();
$.ajax({
type: "POST",
url: "Test9.php",
data: {status: statusVal, rowId: rowIdVal},
success: function(d){
alert("It works");
window.location = "Test9.php";
}
});
});
});
</script>
</head>
<body>
<table id="dataTable">
<tr>
<td>Id</td>
<td>name</td>
<td>status</td>
</tr>
<?php
for ($i = 0; $i < count($testArray); $i++) {
echo '<tr>';
for ($j = 0; $j < count($testArray[$i]); $j++) {
echo '<td>';
echo $testArray[$i][$j];
echo '</td>';
}
echo '<td>';
echo "<select id='" . $testArray[$i][0] . "'>";
echo "'<option value='0'>status1</option>";
echo "'<option value='1'>status2</option>";
echo '</select>';
echo '</td>';
echo '</tr>';
}
?>
</table>
</body>
</html>
<?php
$testArray = array(
array('0', 'name1', 'status1'),
array('1', 'name2', 'status2')
);
?><html>
<head>
<script type="text/javascript" src="JavaScript/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').change(function () {
var rowIdVal = $(this).attr('id');
var statusVal = $(this).val();
$.ajax({
type: "POST",
url: "Test9.php",
data: {status: statusVal, rowId: rowIdVal},
success: function(d){
alert("It works");
window.location = "Test9.php";
}
});
});
});
</script>
</head>
<body>
<table id="dataTable">
<tr>
<td>Id</td>
<td>name</td>
<td>status</td>
</tr>
<?php
for ($i = 0; $i < count($testArray); $i++) {
echo '<tr>';
for ($j = 0; $j < count($testArray[$i]); $j++) {
echo '<td>';
echo $testArray[$i][$j];
echo '</td>';
}
echo '<td>';
echo "<select id='" . $testArray[$i][0] . "'>";
echo "'<option value='0'>status1</option>";
echo "'<option value='1'>status2</option>";
echo '</select>';
echo '</td>';
echo '</tr>';
}
?>
</table>
</body>
</html>
<script>
function _change(){
var rowIdVal = $(this).attr('id');
var statusVal = $(this).val();
$.ajax({
type: "POST",
url: "Test9.php",
data: {
status: statusVal,
rowId: rowIdVal
},
success: function(d){
alert("It works");
window.location = "Test9.php";
}
});
}
</script>
echo "<select id='" . $testArray[$i][0] . "' onchange='_change()'>";改成这样试试