0

我有两个函数可以用 jqwidgets 库创建两个组合框。两个功能大多相似。我打电话给他们$(document).ready(function (),但第一个功能运行良好,第二个甚至没有调用。我将这些代码放在一个函数中,但第二部分从未运行。

function f1() {
     var url2 = "/autosuggest/JsonOrigins.aspx";

     var source2 = {
         datatype: "json",
         datafields: [{
             name: 'id'
         }, {
             name: 'name'
         }],
         url: url2,
         async: false
     };
     var dataAdapter2 = new $.jqx.dataAdapter(source2);
     // Create a jqxComboBox
     $("#originsjqxWidget").jqxComboBox({
         source: dataAdapter2,
         multiSelect: true,
         displayMember: "name",
         valueMember: "id",
         width: 145
     });


     $("#arrow").jqxButton({});
     $("#arrow").click(function () {
         $("#originsjqxWidget").jqxComboBox({
             showArrow: false
         });
     });

     $("#originsjqxWidget").on('change', function (event) {
         var items = $("#originsjqxWidget").jqxComboBox('getSelectedItems');
         var selectedItems = "Selected Items: ";
         $.each(items, function (index) {
             selectedItems += this.label;
             if (items.length - 1 != index) {
                 selectedItems += ", ";
             }
         });
         $("#log").text(selectedItems);
     });
 };

 function f2() {
     var url = "/autosuggest/JsonTag.aspx";

     var source = {
         datatype: "json",
         datafields: [{
             name: 'id'
         }, {
             name: 'name'
         }],
         url: url,
         async: false
     };
     var dataAdapter = new $.jqx.dataAdapter(source);

     $("#categoriesjqxWidget").jqxComboBox({
         source: dataAdapter,
         multiSelect: true,
         displayMember: "name",
         valueMember: "id",
         width: 145
     });


     $("#arrow").jqxButton({});
     $("#arrow").click(function () {
         $("#jqxComboBox").jqxComboBox({
             showArrow: false
         });
     });

     $("#categoriesjqxWidget").on('change', function (event) {
         var items = $("#categoriesjqxWidget").jqxComboBox('getSelectedItems');
         var selectedItems = "Selected Items: ";
         $.each(items, function (index) {
             selectedItems += this.label;
             if (items.length - 1 != index) {
                 selectedItems += ", ";
             }
         });
         $("#log").text(selectedItems);
     });
 }


 $(document).ready(function () {

     f1();
     f2();

 });
4

3 回答 3

0

尝试这个

var source2 = {
     datatype: "json";
     datafields: [{
         name: 'id'
     }, {
         name: 'name'
     }],
     url: url2,
     async: false
 };
于 2014-08-07T19:27:08.377 回答
0

去除 ; 在您的第一个功能之后。

于 2014-02-13T07:34:57.613 回答
-3

我认为你有一个额外的; 在函数 f1 结束时

        function f1(){ 
...
                 if (items.length - 1 != index) {
                     selectedItems += ", ";
                 }
             });
             $("#log").text(selectedItems);
         });
     };
于 2014-02-12T13:21:59.097 回答