使用jquery设置Struts2 Multiselect下拉值

时间:2014-02-24 10:34:59

标签: jquery struts

我的项目中有一个要求,我从ajax获取逗号分隔值的数组, 我需要做的是通过将选项值从数组设置为多选来显示选择的下拉条目。 我的jquery代码如下,

$.ajax({   
                type: 'POST',
                url: 'getInputAction',
                data: {'doc_id': doc_id,'dcr_id':dcrId},
                success: function(response) {
                    var input = $.trim(response);
                    var prim = input.split("#")[0];
                    var sec = input.split("#")[1];
                    var PrimVals = prim.split("@");
                    var secVals = sec.split("@");
  

$( “#SEC1 @ 1”)VAL(secVals);

                    $.each(PrimVals, function(i,e){
                        $("#PRIM1@1").find("option[value="+e+"]").prop("selected","selected");
                    }); 
                }
}); 

和Jsp代码

<td>
    <s:select theme="simple"  tabindex="8" id="PRI1@1" cssClass="mediumSelect" cssStyle="width:50%;" list="prodList" name="DETAILED1" multiple="true" required="true" />
</td>

以上突出显示的代码不起作用。 请任何人帮助我, 感谢

1 个答案:

答案 0 :(得分:0)

我希望您在设置值后需要刷新多选下拉列表。像这样,

这是你的html部分,

<select name="test" id="testId" multiple>
    <option value="1">Value 1</option>
    <option value="2">Value 2</option>
    <option value="3" selected>Value 3</option>
    <option value="4" selected>Value 4</option>
</select>

这是您更新的javascript部分,

$( document ).ready(function() {
    var values= [1,2,3];
    var newArray = [];
    for (var i = 0, l = values.length; i <l; i++){
        newArray.push(values[i]);
    }
    $("#testId").val(newArray);
    jQuery("#testId").multiselect("refresh");
});

您可以找到工作 DEMO

希望这有帮助。