Skip to content

Commit 3544a3c

Browse files
github-actions[bot]KB Bot
andauthored
Added new kb article multiselect-retrieve-selected-items-client-side (#631)
Co-authored-by: KB Bot <[email protected]>
1 parent 9b4435b commit 3544a3c

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
title: Retrieve Selected Items Client-Side
3+
description: Learn how to capture selected items from RadMultiSelect using its change event and store them in a hidden field on an ASP.NET AJAX page.
4+
type: how-to
5+
page_title: Retrieve Selected Items Client-Side
6+
slug: multiselect-retrieve-selected-items-client-side
7+
tags: radmultiselect, asp.net ajax, client-side, onchange, javascript, hidden field
8+
res_type: kb
9+
ticketid: 1670936
10+
---
11+
12+
## Environment
13+
14+
<table>
15+
<tbody>
16+
<tr>
17+
<td>Product</td>
18+
<td>RadMultiSelect for ASP.NET AJAX</td>
19+
</tr>
20+
<tr>
21+
<td>Version</td>
22+
<td>All</td>
23+
</tr>
24+
</tbody>
25+
</table>
26+
27+
## Description
28+
Capturing selected items from a [RadMultiSelect](https://docs.telerik.com/devtools/aspnet-ajax/controls/multiselect/overview) and storing them in a hidden field on the client side is needed when handling selections without postbacks. This KB article also answers the following questions:
29+
30+
- How can I update a hidden field based on RadMultiSelect selections?
31+
- Is it possible to handle RadMultiSelect change events on the client side?
32+
- How do I store RadMultiSelect selected items in a web form?
33+
34+
## Solution
35+
To list and store the selected items of a RadMultiSelect in a hidden field on an .aspx page, follow these steps:
36+
37+
**Add a Hidden Field to Your Page:** Insert a hidden field in your .aspx page to hold the selected values.
38+
39+
````ASP.NET
40+
<asp:HiddenField ID="hiddenFieldSelectedItems" runat="server" />
41+
````
42+
43+
**Configure RadMultiSelect:** Set up the RadMultiSelect with the necessary configurations and client events.
44+
45+
````ASP.NET
46+
<telerik:RadMultiSelect ID="RadMultiSelect1" runat="server" DataTextField="text" DataValueField="value" Filter="Contains" AutoPostBack="false">
47+
<Items>
48+
<telerik:MultiSelectItem Text="Element1" Value="1"></telerik:MultiSelectItem>
49+
<telerik:MultiSelectItem Text="Element2" Value="2"></telerik:MultiSelectItem>
50+
<telerik:MultiSelectItem Text="Element3" Value="3"></telerik:MultiSelectItem>
51+
</Items>
52+
<ClientEvents OnSelect="onSelect" />
53+
</telerik:RadMultiSelect>
54+
````
55+
56+
**Implement JavaScript Function:** Create a JavaScript function to update the hidden field with the texts of the selected items, separated by commas.
57+
58+
````JavaScript
59+
function onSelect(sender, args) {
60+
let selectedTexts = [];
61+
let selectedItems = sender.get_selectedDataItems();
62+
let hiddenField = document.getElementById('<%= hiddenFieldSelectedItems.ClientID %>');
63+
64+
if (selectedTexts.length < 1) {
65+
selectedTexts.push(args.get_dataItem().text)
66+
}
67+
68+
for (let i = 0; i < selectedItems.length; i++) {
69+
selectedTexts.push(selectedItems[i].text);
70+
}
71+
72+
hiddenField.value = selectedTexts.join(", ");
73+
}
74+
````
75+
76+
### Explanation
77+
- **JavaScript Approach:** Utilizing JavaScript allows for real-time updates to the hidden field without the need for postbacks, enhancing the user experience.
78+
- **Handling Events:** The `OnChange` event of the RadMultiSelect ensures the hidden field is consistently synchronized with the user's selections.
79+
80+
## See Also
81+
- [RadMultiSelect Overview](https://docs.telerik.com/devtools/aspnet-ajax/controls/multiselect/overview)
82+
- [Client-Side Programming](https://docs.telerik.com/devtools/aspnet-ajax/controls/multiselect/client-side-programming/overview)

0 commit comments

Comments
 (0)