text()不适用于选择表单输入
.text() not working for select form input
当使用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")
- 您提供的唯一选项子项没有价值
相关文章:
- 在带有 bootbox 的自定义对话框中添加选项以选择表单控件.js在 ASP.NET MVC 中
- 如何通过按钮更改选择表单
- 在提交数据之前更改选择表单元素中的值
- 试图让Jquery在Rails和ActiveAdmin中使用动态选择表单
- HTML使用选择表单更改输入选择(可能使用JQuery?)
- Mootools提交表单仅在通过ID选择表单时有效
- 如何发布单选和复选框选择?表单由php和js处理
- 订阅选择表单中的不同选项
- 带有选择表单和文本字段的简单计算器
- text()不适用于选择表单输入
- 按下按键输入时输入表单和选择表单之间的冲突
- 选择表单后从数据库中获取隐藏的输入值
- 如何在给定焦点时选择表单输入中的文本
- 触发链接以在 If 语句中选择表单时触发
- 使用 Javascript 函数从 HTML 选择表单生成价格
- 使用 JavaScript 清空选择表单元素
- Ajax 动态选择表单未提交值
- JavaScript 选择表单选项
- 创建元素时不要更改选择表单的选项
- 如何做一个HTML选择表单,其中所选选项更新JSON值