2013-07-11 39 views
0

我有一個AJAX調用,重新加載多選。這是我使用AJAX:申請一個jQuery插件:loudev.com multiselect

function cargaValues(paramId){ 
    var xmlhttp; 
    if (paramId=="-1"){ 
     document.getElementById("paramValuesTableDiv").innerHTML=""; 
     return; 
    } 
    if (window.XMLHttpRequest){ 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    }else{ 
     // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function(){ 
     if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
      document.getElementById("paramValuesTableDiv").innerHTML=xmlhttp.responseText; 
      **$('#valuesList').multiSelect();** //<----------------- 
     } 
    }; 
    xmlhttp.open("GET","/copal/retrieveParamValues.action?selectedId="+paramId+"&inputId="+inputId,true); 
    xmlhttp.send(); 
} 

在它發現BBDD選擇的值的服務器,它填補他們名單上。之後它返回一個只包含select的jsp,所以它每次都重載。這與多選擇JSP:

<%@ taglib prefix="s" uri="/struts-tags"%> 
[...] 
    <s:select id="valuesList" name="input.submittedValues" listKey="id" listValue="name" list="input.values" multiple="true" /> 
[...] 

這段代碼被翻譯或多或少這樣的:

<select name="input.submittedValues" id="valuesList" multiple="multiple"> 
    <option value="49">prepaid</option> 
    <option value="50">postpaid</option> 
</select> 

的事情是,我想申請的loudev插件,但是當轉換函數$('#valuesList').multiSelect();被稱爲它不斷給出的錯誤:「Uncaught TypeError: Cannot call method 'split' of undefined」

我也試着評論它,並在瀏覽器控制檯(F12)上調用它,它會給出相同的錯誤。很明顯,我的jsp上包含了.JS.CSS

誰能告訴我什麼是錯的?

回答

0

我發現問題了! 我使用的是舊版本的jquery(1.2.6),這個插件只適用於1.8+以上

謝謝大家!