2017-07-27 71 views
0

我已经做了一个过程,而选择框的Onclick,从弹簧控制器获取ajax响应并将其加载到选择框中,值被加载,但每当我选择其中的值,默认情况下只选择第一个值,而不是能够选择其他值。为什么在Jquery中只选择了第一个选择框的值?

无论何时单击复选框,首次从模型中加载选择框,从下一次点击复选框需要通过onclick加载,我已在下面完成。

注:有n个复选框的数目在JSP页

更新的代码:eventhough值以升序顺序加载在

$("input:checkbox").click(
    function() { 
    if ($(this).is(':checked')) { 
     checkboxID=$(this).attr('id'); 
     var htmlStr = '<div class="form"><form:form id="form" method="POST" action="mapping">' 
       +'<label> Map the Selected field to Category ? &nbsp; &nbsp; &nbsp; &nbsp; </label>' 
       + '<br>' 
       + '<br>' 
       + '<br>'    
       + '<select id="category" name="category">' 
       + '<c:forEach var="categoryList" items="${categoryList}">' 
       + '<option value="${categoryList.category}"> <c:out value="${categoryList.category}" /></option>' 
       + '</c:forEach>' 
       + '</select>' 
       + '<br>' 
       + '<br>' 
       + '<br>' 
       + '<input type="button" name="mapBtn" id="mapBtn" value="MAP" class="ui-button ui-widget ui-corner-all"' 
       + '</form:form></div>'; 
     $.fancybox.open(htmlStr,{ 
     'width'   : 950, 
     'height'   : 1100, 
     'autoScale'  : false, 
     'transitionIn' : 'none', 
     'transitionOut' : 'none', 
     'hideOnContentClick' : false 

    }); 
    } 



    var data = $("#form").serializeArray(); 

    if(!isFirstSelect){ 
    $("#category").click(function(){ 
     $.ajax({ 
      type: "POST", 
      url: "loadSelectBox", 
      dataType: 'json', 
      contentType : "application/json; charset=utf-8", 
      success: function(data){ 
       $("#category").empty(); 
       var options = ''; 
       for(var key in data){ 
        options += "<option value='" + data[key] + "'>" + data[key] + "</option>"; 
       } 
       $("#category").append(options); 
      }, 
      error: function(response){ 
       console.log(response) 
      }, 
     }); 

    }) 
    } 

填充在选择框中的数据不是按升序来自控制器的JSONObject。

帮助表示赞赏,感谢

+0

你可以显示'data'和'#category'的实际外观吗? – 31piy

+0

值看起来像{“月”,“月”,“数据类型5”:“数据类型5”,“数据类型3”:“数据类型3”,“数据类型4”:“类型OF DATA 4“} –

+0

'只要我选择其中的值,默认情况下只选择第一个值'=>其中是您的值选择代码? –

回答

0

我找到了自己的解决方案,

$.fancybox 
.open(
    htmlStr, 
    { 
     'width'   : 950, 
     'height'   : 1100, 
     'autoScale'  : false, 
     'transitionIn' : 'none', 
     'transitionOut' : 'none', 
     'hideOnContentClick' : false, 
     'afterLoad': function(){ 
      if(!isFirstSelect){ 
      $.ajax({ 
       type: "POST", 
       url: "loadSelectBox", 
       dataType: 'json', 
       contentType : "application/json; charset=utf-8", 
       success: function(data){ 
        $("#category").empty(); 
        var options = ''; 
        for(var key in data){ 
         options += "<option value='" + data[key] + "'>" + data[key] + "</option>"; 
        } 
        $("#category").append(options); 
        }, 
        error: function(response){ 
         console.log(response) 
        }, 
       }); 
      } 
      } 
     }); 

我一直在使用“负荷”做:加载看中箱

感谢您的帮助。

相关问题