通过值使用jquery/javascript选择获取项目的文本

sha*_*rad 5 javascript jquery html-select multiple-select

我需要在多个选择框中按值获取项目文本.我试过这段代码,但它给了我整体选中的文字,没有分隔或间距.

if ($("#<%=ddlSubject.ClientID %>").val()) {
    var values = $("#<%=ddlSubject.ClientID %>").val();
    if (values.indexOf(',') != -1) {
        values = $(values).split(',');
    }
    var texts = $("#<%=ddlSubject.ClientID %> :selected").text();
    alert(texts);
    if (texts.indexOf(',') != -1) {
        texts = $(texts).split(',');
    }
}
});
Run Code Online (Sandbox Code Playgroud)

这是我呈现的html选择列表

<select size="4" name="ctl00$ContentPlaceHolder1$ddlSubject" multiple="multiple" id="ctl00_ContentPlaceHolder1_ddlSubject" class="chosen-select" style="height: 250px; width: 250px; display: none;">
    <option value="Account - I" style="font-style:italic;" disabled="disabled">Account - I</option>
    <option value="1">Chap1</option>
    <option value="2">Chap2</option>
    <option value="3">Chap3</option>
    <option value="4">Chap4</option>
    <option value="Joint Venture" style="font-style:italic;" disabled="disabled">Joint Venture</option>
    <option value="5">Chap1</option>
    <option value="6">Chap2</option>
    <option value="7">Chap3</option>
    <option value="8">Chap4</option>
</select>
Run Code Online (Sandbox Code Playgroud)

"chap1chap2chap3"如果选择了这些项目,上面的代码会给我这样的文字.我希望使用','或其他任何东西进行文本分离.如何获取所选文本?

Ror*_*san 12

map()函数可用于创建所需值的数组.试试这个:

var items = $("#<%= ddlSubject.ClientID %> option:selected").map(function() {
    return $(this).text();
}).get();
console.log(items.join());
Run Code Online (Sandbox Code Playgroud)

示例小提琴