在我的应用程序中,我们有许多下拉列表。 这些列表的这些数量将根据用户选择而改变。 我需要读取所有下拉列表的选定值。 但是我无法使用以下代码。 我为ids2获得空值。
HTML
<div>
<ul class="nav nav-tabs nav-stacked" data-bind="foreach:fileHeaders">
<li><div>
<select data-bind="options:$parent.parentDDL, optionsText: 'text', optionsValue: 'id',value : parentTypeName, optionsCaption: 'Select Type...'"></select>
<span class="childselect" data-bind="visible:showChildDDL"><select class="selChildDDL" data-bind="options:childDDL, value: childSelect" ></select></span>
</div>
</li>
</ul>
</div>
的Javascript
self.saveImportClicked = function (temp) {
var selVal = $('#selChildDDL').val();
//var ids = $("select.selChildDDL > option:selected").map(function (n, i) {
// return $(n).innerHTML();
//}).join(",");
var ids2 = $(".selChildDDL > option:selected").map(function (n, i) { return $(i).innerHTML() }).toArray().join(",");
//var optiontext;
//var childid2 = $('#selChildDDL option').each(function (index, option) {
// optiontext = option.innerHTML;
// });
};
答案 0 :(得分:0)
使用jquery的html()
方法代替innerHTML()
:
var ids2 = $(".selChildDDL > option:selected").map(function (n, i) {
return $(i).html();
}).toArray().join(",");
innerHTML是浏览器本机DOM元素的属性。 html()是一个可在jquery对象上调用的方法(如示例代码中的$(i)
)。
答案 1 :(得分:0)
.innerHTML不是jQuery方法。它是一个原生的DOM属性。所以试试以下。
var ids2 = $(".selChildDDL > option:selected").map(function(n, i){
return ($(i)[0].innerHTML);
}).toArray().join(",");
console.log(ids2);
$(i)[0].innerHTML
或i.innerHTML
做同样的事情。