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

Read selected value of all the drop down list

本文关键字:下拉列表 读取      更新时间:2023-09-26

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

爪哇语

 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;
            //                });   
 }; 
.

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做完全相同的事情。

使用 jquery 的 html() 方法代替 innerHTML()

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

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