Hi,
I'm attempting to use related Combo box's here is my code
Then on the server side i have an Custom Validator which does the following
HTML Code here
BUT on the server side code SelectedValue is "" i have got a work around which is to put the selected value into a hidden input field but i shouldn't have too.
I'm attempting to use related Combo box's here is my code
var cboUsers; |
var chkNewUser; |
function pageLoad() { |
cboUsers = $telerik.findComboBox('<%= Page.FindControlRecursive("cboUsers").ClientID %>'); |
chkNewUser = $telerik.$('#<%= Page.FindControlRecursive("chkNewUser").ClientID %>'); |
} |
function cboUser_Load(sender) { |
debugger; |
var cboCompany = $telerik.findComboBox('<%= Page.FindControlRecursive("cboCompanies").ClientID %>'); |
var cboUser = $telerik.toComboBox(sender); |
var selectedValue = cboCompany.get_value(); |
cboUser.set_text("Loading..."); |
cboUser.clearSelection(); |
if (selectedValue != "") { |
cboUser.requestItems(selectedValue, false); |
} |
} |
function cboUser_IndexChanged(sender, args) { |
debugger; |
var item = args.get_item(); |
var cnHidVal = $telerik.$('#'+'<%= Page.FindControlRecursive("selectedUser").ClientID %>'); |
cnHidVal.val(item.get_value()); |
} |
function LoadUsers(combo, eventArgs) { |
var cboCompany = $telerik.toComboBox(combo); |
var item = eventArgs.get_item(); |
cboUsers = $telerik.findComboBox('<%= Page.FindControlRecursive("cboUsers").ClientID %>'); |
cboUsers.set_text("Loading..."); |
cboUsers.clearSelection(); |
if (item.get_index() != -1) { |
cboUsers.requestItems(item.get_value(), false); |
} |
} |
function companyDropDownClosed(sender, args) { |
var cboCompanybox = $telerik.toComboBox(sender); |
var selectIndex = cboCompanybox.get_selectedIndex(); |
cboUsers = $telerik.findComboBox('<%= Page.FindControlRecursive("cboUsers").ClientID %>'); |
if (selectIndex == -1) { |
cboUsers.clearSelection(); |
cboUsers.clearItems(); |
} |
} |
function cboUserItemsRequest(sender, args) { |
var userCbo = $telerik.toComboBox(sender); |
userCbo.trackChanges(); |
if (userCbo.get_items().get_count() == 0) { |
chkNewUser.trigger('click'); |
userCbo.disable(); |
userCbo.commitChanges(); |
return; |
} |
else { |
userCbo.enable(); |
var comboItem = new Telerik.Web.UI.RadComboBoxItem(); |
comboItem.set_text(""); |
comboItem.set_value(""); |
var items = userCbo.get_items() |
items.insert(0, comboItem); |
userCbo.commitChanges(); |
if (chkNewUser.attr("checked")) |
chkNewUser.trigger('click'); |
} |
var cnHidVal = $telerik.$('#' + '<%= Page.FindControlRecursive("selectedUser").ClientID %>'); |
if (cnHidVal.val() != "") { |
for (i = 0; i < userCbo.get_items().get_count(); i++) { |
var item = userCbo.get_items().getItem(i); |
if (item.get_value() == cnHidVal.val()) { |
item.select(); |
} |
} |
} |
protected void cboUsers_Validate(object sender, ServerValidateEventArgs args) |
{ |
var newUserchecked = (System.Web.UI.WebControls.CheckBox)Page.FindControlRecursive("chkNewUser"); |
RadComboBox cboUsers = (RadComboBox)Page.FindControlRecursive("cboUsers"); |
args.IsValid = (newUserchecked.Checked) || (cboUsers.SelectedValue != "-1" && !newUserchecked.Checked); |
} |
<telerik:RadComboBox runat="server" OnClientLoad="cboUser_Load" OnClientItemsRequested="cboUserItemsRequest" OnClientSelectedIndexChanged="cboUser_IndexChanged" |
OnItemsRequested="cboUsers_ItemsRequested" Width="100%" ID="cboUsers" /> |
<asp:CustomValidator OnServerValidate="cboUsers_Validate" ErrorMessage="Please Select a User" ControlToValidate="cboUsers" |
EnableClientScript="false" Display="None" runat="server" /> |