对,所以我在一个页面上有多个这样的表单(编辑,因为不清楚这是在 PHP 中使用的,我在 PHP 和 echo 标签中添加了):
<?PHP
echo "<form action="" method="post" id="form$field2">";
echo "<select id="popup" name="state" >";
echo "<option class="apple-hidden" value="$statitem1">$statitem1</option>";
echo "<option class="apple-hidden" value="$statitem2">$statitem2</option>";
echo "<option class="apple-hidden" value="$statitem3">$statitem3</option>";
echo "<option class="apple-hidden" value="$statitem4">$statitem4</option>";
echo "<option class="apple-hidden" value="$statitem5">$statitem5</option>";
echo "<option class="apple-hidden" value="$statitem6">$statitem6</option>";
echo "<option class="apple-hidden" value="$statitem7">$statitem7</option>";
echo "<option class="apple-hidden" value="$statitem8">$statitem8</option>";
echo "<option class="apple-hidden" value="$statitem9">$statitem9</option>";
echo "</select>";
echo "<input type="hidden" name="bnum" value="$field2,$user">";
echo "</form>";
?>
并且我有一些 javascript,因此每当更改表单时,它都会使用 AJAX 提交 POST 数据并将表格单元格变为绿色。
<script type="text/javascript">
var bnum;
bnum = '$formname',
$('form').change(function() {
console.log(bnum);
$.ajax("http://myApp.example.org/alert?title=Test%20from%20AJAX&message=this%20is%20a%20message%20from%20an%20AJAX%20request");
$(this).closest("td").css("background", "#01DF01");
$.ajax({
type: 'post',
url: 'process.php?item1=$urlvar3',
data: $(this).serialize(),
success: function() {
}
});
return false;
});
</script>
现在我要做的是获取下拉列表的新值并将其打印到控制台。我试过了:
console.log($("#popup").val());
这有效,但仅适用于页面上的第一个表单。我想要做的是从我提交的表单中获取数据,所以我尝试了:
console.log($(this).val());
但这会返回 NULL。
一如既往地感谢任何帮助。