簡體   English   中英

Ajax調用后multiselect無法正常工作

[英]multiselect is not working after ajax call

我有一種情況,我必須使用多重選擇從下拉列表中選擇多個值,該下拉列表是一個依賴項下拉列表,即在下拉列表的頂部,還有一個下拉列表在單擊時提供了一個值列表該下拉列表並選擇某個值,然后根據該值生成下面的下拉列表。現在的問題是多重選擇第一次出現,但是當我從第一個下拉列表中選擇值時,第二個創建時間下拉選擇不起作用。我在這里給出我的代碼,

//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());

現在的問題是我正在對candyListIntAva應用multiselect函數,但是回調函數正在獲取數據,因此我將其附加了一個loadCandidate div。但是如果我們在兩個地方都應用candyListIntAva,那么第二個列表將不會被填充。還必須將數據附加到div。任何人都可以告訴我解決方案是什么?

如下使用對我的工作罰款。

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

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

注意:1. 1.其中csv_head是您的div ID,data.header_arr是您從ajax調用接收的選項字符串。

  1. 選項字符串應如下所示

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM