ajax调用

时间:2015-08-26 17:55:22

标签: javascript jquery html ajax multi-select

我有一种情况,我必须使用multiselect从下拉列表中选择多个值,该下拉列表是一个dependend下拉列表,即在下拉列表的顶部有另一个下拉列表,它提供一个值列表,当我们单击该下拉列表并选择一些值,然后根据该值生成下面的下拉列表。现在问题是多次选择是第一次出现,但是当我从第一个下拉列表中选择值时,则创建时间第二次下拉列表中的多选不起作用。我在这里给我的代码,

//responsible for multiselet
$("#candyListIntAva").multiselect({
    disableIfEmpty: true,
});


//The first dropdown
$('#JobList').change(function (){

    //alert($('#JobList').val());

    var url = "<%=fetchCandidateByIdURL%>";
    var type = "fetchCandidate";
    var jobId = $('#JobList').val();

     jQuery.getJSON(url+"&jobId="+jobId+"&type="+type, function(data) { 

      //Inside this funtion the result is coming  i am appending the data to a div    
        $("#loadCandidate").html(data.searchResultArray);
   });

}); 

这是HTML部分

<table align="center">
<tr>
  <td class="interviewParams">Select Job ID</td>

<td class="interviewfields">
<select id="JobList" name="JobList">
        <option value="None">- Select Job ID -</option>
        <%
            while (rs.next()) {
                String jobid = rs.getString("jobOrderID");
        %>
        <option value="<%=jobid%>"><%=jobid%></option>
        <%
            }
        %>
    </select>

  </td>
 </tr>
 <tr>
<td class="interviewParams">Select Candidate</td>
<td class="interviewfields">
<div id="loadCandidate">
                 <select id="candyListIntAva" name="candyListIntAva" multiple="multiple">
                       <option value="None">--Select Candidate--</option>
                 </select>
          </div>

 

这是我从服务器端取出数据的代码

            rsServeResource = st.executeQuery(SQL);
            String generateOption = "";
            generateOption="<select id=\"candyListIntAva\" name=\"candyListIntAva\">";  
            generateOption+="<option value='None'>--Select Candidate--</option>";

            while (rsServeResource.next()) {  
                generateOption+="<option value=\'"+rsServeResource.getString(2)+"\'>"+rsServeResource.getString(1)+"</option>";  
           }  
           generateOption+="</select>";

           searchResultArray.put(generateOption);   
        jsonFeed.put("searchResultArray", searchResultArray);
        resourceResponse.setContentType("application/json");
        resourceResponse.setCharacterEncoding("UTF-8");
        resourceResponse.getWriter().write(jsonFeed.toString());

现在的问题是我将multiselect函数应用于candyListIntAva,但回调是将数据附加到loadCandidate div.But如果我们在两个地方都应用candyListIntAva,那么第二个列表将不会被填充。但我也必须将数据附加到div。任何人都可以告诉我什么是解决方案?

1 个答案:

答案 0 :(得分:0)

使用下面对我来说工作正常。

$('#csv_head').html('<select id="optgroup" class="ms" multiple="multiple" >'+data.header_arr+'</select>');

$('#csv_head').multiSelect({ selectableOptgroup: true });

注意: -  1.其中csv_head是你的div id,data.header_arr是你从ajax调用收到的选项字符串。

  1. 选项字符串应如下所示
  2. enter image description here