對,所以我在頁面上有多個這樣的表單(編輯,因爲它不清楚,這是PHP中使用我已經添加在PHP和回聲標籤):Jquery獲取選擇表單項的價值
<?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。
任何幫助一如既往的讚賞。
聽起來就像您使用相同的'id'屬性多次。你能證實這一點嗎?你有多個ID爲'popup'的元素? – Travesty3 2013-04-11 13:25:52
ID的ID應該是唯一的,否則它將僅返回第一個結果。如果您有多個相同的表單,這意味着您不止一次使用'popup' ID。你需要使這個獨特的 – musefan 2013-04-11 13:26:15