应用jquery插件:loudev.com multiselect

时间:2013-07-11 15:36:33

标签: javascript jquery ajax jquery-plugins multi-select

我有一个重新加载多选的AJAX调用。这是我正在使用的AJAX:

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

谁能告诉我什么是错的?

1 个答案:

答案 0 :(得分:0)

我发现了问题! 我使用的是旧版本的jquery(1.2.6),这个插件仅适用于1.8 +

谢谢大家!