当使用jQuery单击按钮时,我正在尝试检索两个选择字段的值。以下是相关的代码片段。
我在一个外部文件中有这个:
$(document).ready(function() {
$("#classSubmit").click(function() {
console.log($("dept").text());
console.log($("num").val());
});
});
这是php脚本,它生成了我的一个select语句,第二个语句稍后作为xmlhttp请求的结果填充
<form id="addclass">
<div class="form-group">
<label for="dept">Department</label>
<select class="form-control" id="dept">
<?php
$departments = array("---",
"ACCT", "AAS", "AMST", "ANTH", "ARAB",
"ARCH", "ART", "ASIA", "ASTR", "BIOE",
"BIOS", "BUS", "BIS", "CHE", "CHM",
"CHIN", "CEE", "CLSS", "COGS", "COMM",
"CIE", "CREG", "CSE", "CSB", "CPSY",
"DES", "EES", "ECK", "ECO", "EDUC",
"EDL", "ECE", "ESE", "ENGR", "EMC",
"ENGL", "ESLP", "ENTP", "ES", "FIN",
"FREN", "GERM", "GCP", "GS", "GBEN",
"GBUS", "MBA", "HMS", "HEBR", "HIST",
"ISE", "IBE", "IDEA", "IPRE", "IR",
"ITAL", "JPNS", "JST", "JOUR", "LAT",
"LAS", "LAW", "MGT", "MSE", "MKT",
"MACC", "MAT", "MATH", "ME", "MECH",
"MIL", "MLL", "MUS", "PHIL", "PHY",
"POLS", "PMGT", "PSYC", "REL", "RUSS",
"SCHP", "STS", "SOC", "SOAN", "SPAN",
"SPED", "STAT", "SCM", "SDEV", "TLT",
"TRAC", "TE", "THTR", "WGSS");
foreach($departments as $dept) {
$str = "<option>";
$str .= $dept;
$str .= "</option>";
echo $str;
}
?>
</select>
</div>
<div class="form-group">
<label for="num">Class:</label>
<select class="form-control" id="num">
<option>---</option>
</select>
</div>
<button type="button" id="classSubmit" class="btn btn-primary" type="submit">Add Class</button>
</form>
当我按下classSubmit
按钮时,我会得到两个回声:第一个是空白的,第二个是"未定义"的。
你知道是否有其他方法可以做到这一点,或者我的问题是否在代码中?谢谢
您没有使用正确的选择器进行选择。您需要使用#
按id选择元素。尝试以下操作:
$('#dept').val();
$('#num').val();
引用自W3(http://www.w3.org/TR/html5/forms.html#attr-选项值):
value属性为元素提供一个值。option元素的值是value content属性的值(如果有),或者是元素的text IDL属性的价值(如果没有)
希望这对您有效
尝试使用id
查找select
,然后过滤所选选项:
$(document).ready(function() {
$("#classSubmit").click(function() {
console.log($("#dept > option").filter(":selected").text());
console.log($("#num > option").filter(":selected").text());
});
});
如果选项没有value
属性,则应使用.text()
对于第二部分,有两个错误:
- 你应该写
$("#num")
- 您提供的唯一选项子项没有价值