簡體   English   中英

Struts 2 jQuery插件sj:select和jquery.select2

[英]Struts 2 jquery plugin sj:select and jquery.select2

我們已經使用了struts 2 jquery插件。 我們已經將所有選擇更改為jquery select2

$('select:visible:not').select2()

大量的sj:selects選擇通過ajax重新加載,例如:

    <s:select id="areaCode" name="areaCode" list="areas" listKey="top"
        listValue="areaName" headerKey=""
        headerValue="Select It"/>

    <sj:select id="realodedBranches" name="openerBranchNo"
        list="realodedBranches" href="%{reloadbranch}" listKey="branchCode"
        listValue="branchName" reloadTopics="reloadBranches"/>

一切正常,希望事件僅返回一個結果行,並且選擇框只有一個選項。 在此狀態下,選擇2將不允許用戶選擇此選項!

如果我更改結果以返回一個以上的結果,則可以正常工作。

我僅在重新加載選擇時才看到此問題,但不知道為什么會這樣。

我用jquery select 2做了一個簡單的測試,它工作正常,添加的選項是可選的:

<select id="mainSelect">
</select>    

<button id="clickMe">Click Me </button>


$('select').select2();

$('#clickMe').click(function(){
     $('#mainSelect')
         .append($("<option></option>")
         .attr("value","val1")
         .text("text1"));    
});

當添加的選項為一個時,select2自動將aria-selected="true"到第一個選項。 這樣就無法選擇它。

似乎是一個錯誤https://github.com/select2/select2/issues/3242

為了解決這個問題,您可以設置sj:selectemptyOption="true"屬性,這是一種解決方法,但是會添加一個空選項並選擇2將此空選項標記為已selected

還在尋找更好的方法!

暫無
暫無

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

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