0

在我的应用程序中,我们有许多下拉列表。这些列表的这些计数将根据用户选择而变化。我需要阅读所有下拉列表的选定值。但是我无法使以下代码正常工作。我得到 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;
            //                });   

 }; 
4

2 回答 2

0

使用 jquery 的html()方法而不是innerHTML()

var ids2 = $(".selChildDDL > option:selected").map(function (n, i) { 
    return $(i).html();
}).toArray().join(",");

innerHTML是浏览器原生 DOM 元素的属性html()是一种可在 jquery 对象上调用的方法(如$(i)您的示例代码中)。

于 2013-08-21T03:07:27.213 回答
0

.innerHTML 不是 jQuery 方法。它是一个原生 DOM 属性。所以尝试以下。

var ids2 = $(".selChildDDL > option:selected").map(function(n, i){
    return ($(i)[0].innerHTML);
}).toArray().join(",");

console.log(ids2);

$(i)[0].innerHTMLi.innerHTML做完全相同的事情。

于 2013-08-21T03:12:24.970 回答