2012-02-21 4 views
0

Итак, я использую выпадающий список Telerik для нескольких входных данных формы, и я также проверяю, что они не пусты с клиентской стороной jquery. Вот что я имею - он определенно проверяет элемент управления, но я не могу заставить его добавлять класс к объекту, ища его родителя.Подтвердить выпадение с помощью jquery

Jquery:

function validateCombo(source, args) { 

    var combo = $find("<%= listWorkType.ClientID %>"); 
    var text = combo.get_text(); 
    if (text.length < 1) {   
     args.IsValid = false; 
     combo.parents("div.selectWrap").addClass("error"); 
    } 
    else {    
     args.IsValid = true; 
     combo.parents("div.selectWrap").removeClass("error");  
    } 
} 

.net

<div class="selectWrap"> <rad:RadComboBox ID="listWorkType" Width="338" runat="server" InputCssClass="dropdown"></rad:RadComboBox></div> 
<asp:CustomValidator ID="RFVDesiredJob" runat="server" Display="Dynamic" CssClass="formtext" ClientValidationFunction="validateCombo" ErrorMessage="Required" ></asp:CustomValidator> 

Как вы можете видеть из JQuery Я желающему добавить класс «ошибки» в DIV, который оберточной выпадающий проверяются. Как сказано, проверка достоверно работает, но div .selectWrap не добавляет класс.

Я всегда могу просто ссылаться на div по классу или создавать идентификатор, но я делаю это для нескольких выпадающих списков, и я ищу единообразное решение.

Любое понимание было бы весьма полезным. Благодарю.

ответ

0

Похоже, вы пытаетесь использовать jQuery для объекта, отличного от jQuery, $ find выбирает объект клиентской стороны Telerik, поэтому combo.parents (..) генерирует исключение. Вы можете попробовать что-то вроде этого:

function validateCombo(source, args) { 
     var combo = $find("<%= listWorkType.ClientID %>"); 
     //fetch the jQuery element as well 
     var jqueryComboItem = $('#' + "<%= listWorkType.ClientID %>"); 
     var text = combo.get_text(); 
    if (text.length < 1) {   
     args.IsValid = false; 
     jqueryComboItem.parents("div.selectWrap").addClass("error"); 
    } 
    else {    
     args.IsValid = true; 
     jqueryComboItem.parents("div.selectWrap").removeClass("error");  
    } 
} 
+0

Yup. Благодарю вас, сэр. – sacbeme

Смежные вопросы