2012-04-27 1 views
0

У меня есть функция jquery, которая контролирует, какие флажки в форме выбираются на основе элемента div, в котором они находятся. var selectedObj = правда; // находится в document.ready()Как перекомпоновать функцию jquery для передачи селектора и идентификатора элемента в функцию в качестве параметров

$('#selectAllEntities').click(function (event) { 
    if (selectedObj == true) { 
     $('#selectAllEntities').text('Unselect All'); 
     $(':checkbox', '#myentities').each(function() { 
      this.checked = true; 
     }); 
     selectedObj = false; 
    } 
    else { 
     $('#selectAllEntities').text('Select All'); 
     $(':checkbox', '#myentities').each(function() { 
      this.checked = false; 
     }); 
     selectedObj = true; 
    } 
}); 

Селектор и DIV элемент (#myentities) находятся в функции только два элемента, которые будут меняться, я бы очень хотел, чтобы учитывать это так, я могу повторно использовать этот функция против повторной записи ее каждый раз.

Где я застреваю, передаёт селектор в качестве параметра. Я не могу использовать класс в качестве селектора из-за CSS наследования Styl

<div id="myentities" class="rm_RoleColumn"> 
       <p> 
        Select the entities that this role can view</p> 
       <a id="selectAllEntities" class="am_Button floatLeft">Select All</a> 
       <hr class="hrNoColor" /> 
       <div> 
        <asp:Panel ID="pnl_EntityList" runat="server" /> 
       </div> 
      </div> 

Панель, где появляются галочки. Я создаю их на стороне сервера и передавая их в веб-элемент управления.

Я смотрел на это слишком долго, так что какие-либо предложения о том, как реорганизовать эту функцию или другой способ смотреть на это было бы весьма признателен

ответ

0

проверьте это. Я просто добавил класс и использовал индивидуальную функцию и передал параметр 2 для идентификатора кнопки и класса ввода. Чтобы связать объект с двумя проходами, вам нужно использовать класс, поэтому вам не нужно доводить этот класс до ваших файлов css и просто использовать их в качестве целевого значения. Таким образом вы можете вызвать это в любое время. http://jsfiddle.net/hz4nN/1/

0

Использование .on или .bind и параметр данных.

$(myelelement).on("myevent",{someselector: "#foobar",someid:587},function (e) { 
    alert(e.data.someid); 
}); 
Смежные вопросы