![](/img/trans.png)
[英]How to set the value of an Option element in a dynamically created Select in a table as it is created
[英]How to retrieve the value of the selected option from a dynamically created select in a table
我正在表中动态创建一个下拉列表,并希望检索所选项目的值。 我可以获取其他元素的值(例如,输入); 然而下拉菜单让我难住了。 在下面的代码中,startDate 是正确的,但是 parRating 始终为 1(选择中的第一个值)。
注意:我想要值 (parIdArray) 而不是 val (parRatingArray)。
用于创建的 HTML:
html += "<td style='width : 1%; white-space: nowrap;'><select name='parRating'>"
for (let i = 0; i <= paraArray; i++) {
if (this.parRating == parRatingArray[i]) {
// set the current option to this.parRating
html += "<option selected name='parRatingOption' value='" + parIdArray[i] + "'>" + parRatingArray[i] + "</option>"
}else {
html += "<option name='parRatingOption' value='" + parIdArray[i] + "'>" + parRatingArray[i] + "</option>"
}
};
html += "</select></td>";
if (this.patparStartDate == null) {
html += "<td style='width : 1%; white-space: nowrap;'><input type='date' name='startDate' value=''></td>";
}else {
html += "<td style='width : 1%; white-space: nowrap;'><input type='date' name='startDate' value='" + this.patparStartDate + "'></td>";
}
检索值的 HTML:
var parRating = $(this).parents('tr:first').find('option[name="parRatingOption"]').value;
alert("parRating: " + parRating);//always 1
var startDate = $(this).parents('tr:first').find('input[name="startDate"]').val();
您只需要使用 jQuery :selected选择器将上面代码中选择的选项作为目标:
您还需要使用.val()
来获取选项值而不是 jQuery 中的value
属性
试试下面的代码:
var parRating = $(this).parents('tr:first').find('option[name="parRatingOption"]:selected').val();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.