[英]How to select multiple items from a listbox asp.net without pressing the CTRL key using javascript?
[英]How to multiple select item in ListBox without press CTRL in Asp.Net?
我想在ListBox
選擇多個項目,但是瀏覽器要求用戶按CTRL鍵選擇多個項目,否則它將僅選擇一個項目。
我想選擇多個項目而不按CTRL,並且我不想使用CheckBoxList
。 有什么更好的方法嗎? 使用純JavaScript或JQuery或Codebehind。
(我已經將SelectionMode="Multiple"
屬性添加到ListBox
控件中)
碼:
<asp:ListBox ID="ListBox1" runat="server" Height="210px" Width="203px" SelectionMode="Multiple">
<asp:ListItem>1000</asp:ListItem>
<asp:ListItem>2000</asp:ListItem>
<asp:ListItem>4000</asp:ListItem>
<asp:ListItem>4000</asp:ListItem>
<asp:ListItem>5000</asp:ListItem>
<asp:ListItem>6000</asp:ListItem>
</asp:ListBox>
參考: 使標准ASP.NET列表框在不按住Ctrl的情況下進行多選
只需將您的列表框更改為
<asp:ListBox ID="ListBox1" runat="server" Height="210px" Width="203px" SelectionMode="Multiple" onclick="ListBoxClient_SelectionChanged(this, event);">
<asp:ListItem>1000</asp:ListItem>
<asp:ListItem>2000</asp:ListItem>
<asp:ListItem>4000</asp:ListItem>
<asp:ListItem>4000</asp:ListItem>
<asp:ListItem>5000</asp:ListItem>
<asp:ListItem>6000</asp:ListItem>
</asp:ListBox>
並在<script>
標記中添加以下腳本
<script type="text/javascript" language="javascript">
var selectedClientPermissions = [];
function pageLoad() {
var ListBox1 = document.getElementById("<%= ListBox1.ClientID %>");
for (var i = 0; i < ListBox1.length; i++) {
selectedClientPermissions[i] = ListBox1.options[i].selected;
}
}
function ListBoxClient_SelectionChanged(sender, args) {
var scrollPosition = sender.scrollTop;
for (var i = 0; i < sender.length; i++) {
if (sender.options[i].selected) selectedClientPermissions[i] = !selectedClientPermissions[i];
sender.options[i].selected = selectedClientPermissions[i] === true;
}
sender.scrollTop = scrollPosition;
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.