使用multiple =" true"从select标签中获取多个选中的值

时间:2014-07-17 05:02:06

标签: javascript html5 jquery-mobile cordova

   <Select id="chkProduct" multiple="true">
   </select>


   <script type="text/javascript">

         $(function () {

    $(document).ready(function() {
        $.ajax({
            type: "GET",
            contentType: "application/json; charset=utf-8",
           url: 'http://###.##.##.##/####/Country.svc/ProductBind',
            data: '{}',
            dataType: "json",
            processData: false,
            success: function (data) {
            var oi;
            for (var i = 0; i < data.Data.length; i++) {
                appendString = "<option value='"+data.Data[i].Product+"'>"+data.Data[i].Product +"</option>";
                $("#chkProduct").append(appendString);
            }

         },
            error: function (result) {
                alert("Error");
            }
        });

    });
});

</script>  

我需要一些建议如何在绑定数据后获得检查值..

这个下拉式绑定复选框,默认的OK和CANCLE按钮,然后在OK cleck上,如果有多个选中的值,我会获得单个选中的值... 它允许选择多个检查,但它需要单个检查项目值...我想要多个检查值

1 个答案:

答案 0 :(得分:0)

对于多重选择,.val()返回所选值的数组(不是文本)。这是一个例子:

如果选择空白和按钮,我们将点击以获取所选值

<select name="chkProduct" id="chkProduct" multiple="true" data-native-menu="false">
</select>

<button id="btnGet">Get Selected</button>

脚本在pagecreate上加载一些选项(这将是你的ajax函数),然后click处理程序将所选值显示为逗号分隔列表:

$(document).on("pagecreate", "#page1", function(){        
    var appendString = '';
    for (var i = 0; i < 6; i++) {
         appendString += "<option value='"+ i +"'>item "+ i +"</option>";
    }    
    $("#chkProduct").empty().append(appendString).selectmenu( "refresh" );

    $("#btnGet").on("click", function(){
        alert($("#chkProduct").val());
    });
});
  

这是一个有效的 jsFiddle