读取所有下拉列表的选定值

时间:2013-08-21 02:47:04

标签: javascript jquery

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

 }; 

2 个答案:

答案 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].innerHTMLi.innerHTML做同样的事情。