gpt4 book ai didi

java - 如何在 javascript 中动态设置 jquery 多选选项的 selectedText ..?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:46 25 4
gpt4 key购买 nike

我有以下代码,我想检查表行中的每个用户是否具有字符串“全部”的权限,并将“允许所有权限”设置为相应选择列表的 selectedText。

 <%!
List permission = new ArrayList();
Connection connection;
PreparedStatement ps1,ps2;
ResultSet rs1,rs2;
String sql1,sql2;
// execute rs1
%>
<table>
<tbody>
<%
while (rs1.next()) {
String user = rs1.getString('username');
%>
<tr>
<td class="username" width="200"><%=user%></td>
<td class="perms" width="200">
<%
sql2 = "SELECT perms_name FROM perms WHERE username = ? ";
// execute rs2
permission.clear();
while (rs2.next()) {
permission.add(rs2.getString("permission"));
}
%>
<select class="perms" name="perms" multiple="multiple">
<% for(int i=0;i<permsList_folder.size();i++){%>
<option value="<%=permission.get(i)%>" disabled="disabled" selected="selected"><%=permission.get(i).toString().toUpperCase()%></option>
<%}%>
</select>
<td>
</tr>
</tbody>
</table>
<script>
var hasAllPerms ="<%=permission.contains('all')%>";// this only handle last row results not for each row/user in table
$(".perms").multiselect({
noneSelectedText: "No Permission",
selectedText:hasAllPerms=="true"?"ALL Permissions's Allowed":"# Permissions's Allowed"
});
</script>

最佳答案

有几种方法可以实现您想要做的事情。

在这种情况下,您似乎正在使用 jsp,因此您可以只设置所选值并在服务器端显示字符串,而无需使用任何 javascript。

<select class="perms" name="perms" multiple="multiple">
<% for(String permissionStr : permission) {
String selectedStr="";
String displayValue=permissionStr.toUpperCase();
if("all".equals(permissionStr))
{
displayValue="ALL Permissions's Allowed";
selectedStr="selected='selected'";
}
%>
<option value="<%=permissionStr%>" disabled="disabled" <%=selectedStr%> ><%=displayValue%></option>
<%}%>
</select>

如果您想使用 javascript/jquery 设置它,一种方法是向每个选择框添加一个 id,例如

<select class="perms" name="perms" id="perms<%=user%>" multiple="multiple">
<% for(int i=0;i<permsList_folder.size();i++){%>
<option value="<%=permission.get(i)%>" disabled="disabled" selected="selected"><%=permission.get(i).toString().toUpperCase()%></option>
<%}%>
</select>

然后遍历每个用户,而不是选择基于类的选择,而不是基于 id 的选择

$("#perms" + user).multiselect(...);

我也不会使用原始类型(Java 1.5 之前的向后兼容性)并在您的权限列表中设置类型并在名称中添加“s”或“List”以更清楚地表明它是一个包含多个权限的集合.

<%!
List<String> permissions = new ArrayList<String>();
%>

关于java - 如何在 javascript 中动态设置 jquery 多选选项的 selectedText ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21625279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com