I have six checkboxes inside telerik combobox control . On checking the first checkbox, I have to disable second and third one.
Similarly, on checking fifth checkbox I have to disable sixth one. I tried using onitemchecked,autopostback =true and onclientitemchecked events but couldn’t get the result.
Please help with the sample codeThanks
3 Answers, 1 is accepted
Please have a look into the sample code I tried which works fine at my end.
ASPX:
<
telerik:RadComboBox
ID
=
"RadComboBox1"
runat
=
"server"
CheckBoxes
=
"true"
OnClientItemChecked
=
"OnClientItemChecked"
>
<
Items
>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Item 1"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Item 2"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Item 3"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Item 4"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Item 5"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Item 6"
/>
</
Items
>
</
telerik:RadComboBox
>
JavaScript:
<script type=
"text/javascript"
>
function
OnClientItemChecked(sender, args) {
//accessing the clicked item.
var
item = args.get_item();
if
(item.get_index() == 0) {
//Checking whether its the first item, then index will be zero.
if
(item.get_checked()) {
//Disabling the second and third item.
sender.get_items().getItem(1).set_enabled(
false
);
sender.get_items().getItem(2).set_enabled(
false
);
}
else
{
sender.get_items().getItem(1).set_enabled(
true
);
sender.get_items().getItem(2).set_enabled(
true
);
}
}
else
if
(item.get_index() == 4) {
if
(item.get_checked()) {
sender.get_items().getItem(5).set_enabled(
false
);
}
else
{
sender.get_items().getItem(5).set_enabled(
true
);
}
}
}
</script>
Thanks,
Shinu.
Hi,
I have a combo box with checkboxes. OnClientItemChecked and OnClientDropDownClosed I have written a javascript like below.
function OnClientItemChecked(sender, eventArgs)
{
var comboBox = $find("<%=rbcmbDemoStatus.ClientID %>");
var item = eventArgs.get_item();
if(comboBox.get_items().getItem(0).get_checked())
{
sender.get_items().getItem(1).set_enabled(false);
sender.get_items().getItem(2).set_enabled(false);
}
else if(comboBox.get_items().getItem(1).get_checked())
{
sender.get_items().getItem(0).set_enabled(false);
sender.get_items().getItem(2).set_enabled(false);
}
}
It worked fine when I called this javascript from aspx itself. But when I moved the javascript to separate script.js file,
It is throwing error like sender undefined.
This is calling event:
<telerik:RadComboBox ID="rbcmbDemoStatus" runat="server" CheckBoxes="true" Width="160" OnClientItemChecked="OnClientItemChecked" OnClientDropDownClosed="OnClientDropDownClosed" Skin="Office2007">
I called the script like this:
<script type="text/javascript" src="~/Scripts/JCO Scripts.js"></script>
<script language ="javascript" type ="text/javascript">
OnClientItemChecked(sender, eventArgs)
</script>
Please try with the following code in your external JS.
JavaScript:
function
OnClientItemChecked(sender, eventArgs) {
var
item = eventArgs.get_item();
if
(sender.get_items().getItem(0).get_checked()) {
sender.get_items().getItem(1).set_enabled(
false
);
sender.get_items().getItem(2).set_enabled(
false
);
}
else
if
(sender.get_items().getItem(1).get_checked()) {
sender.get_items().getItem(0).set_enabled(
false
);
sender.get_items().getItem(2).set_enabled(
false
);
}
}
Also please have a look at this forum thread which deals with a similar scenario.
Thanks,
Shinu.