Multiselect jQuery中的json源代码

时间:2013-04-25 12:12:52

标签: jquery json multi-select

我有多个jQuery,我想从json获取源代码。 我从我的自动完成组合框中获取了有效的源代码,但这里不起作用。

我的代码:

 $(document).ready(function () {
        var warning = $("#message");
        $("select").multiselect({
            //selectedText: function (numChecked, numTotal, checkedItems) {
            //    return numChecked + ' of ' + numTotal + ' checked';
            //},
            source: function (request, response) {
                $.getJSON('http://' + $("[id$='ip']").val() + "/JSON/Auctocomplete.aspx?city=1&term=" + request.term, function (data) { response(data); });
            },
            select: function (event, ui) {
                $("#mfr").textContent = ui.item.id;
            },
            selectedList: 5,
            header: "choose up to 5",
            click: function (e) {
                if ($(this).multiselect("widget").find("input:checked").length > 5) {
                    warning.addClass("error").removeClass("success").html("choose up to 5");
                    return false;
                } else {
                    warning.addClass("success").removeClass("error").html("");
                }
            }
        });
    });

2 个答案:

答案 0 :(得分:7)

这是因为Same origin policy。你不能使用ajax来调用外部网站。如果你真的想使用,你必须使用JSONP。或者您可以使用服务器端代理。意味着,在服务器端调用外部站点并对该Web服务进行ajax调用。

for more information please refer this link

答案 1 :(得分:2)

我搜索过,我认为Jquery multiselect没有 source 属性。看看http://www.erichynds.com/blog/jquery-ui-multiselect-widget。你确定它有源属性吗?

我建议你,首先从json加载select,然后将其转换为multiselect。

// The empty select element:
<select></select>

// In javascript:
$(document).ready(function () {
     var url = 'http://...';

     $.getJSON(url,function(result){
               $.each(result, function(i, field){
                      var option = $('<option value="' + field.value + '">' + field.text + '</option>');
                      $('select').append(option);
               });

               $('select').multiselect({...});
     });
});