использование jQuery с пользовательскими элементами формы - PullRequest
0 голосов
/ 06 февраля 2012

. Я использую пользовательские элементы формы в форме.

<fieldset>
  <legend id="Cities">Cities</legend>
  <div class="legend-underline"></div>
  <div class="filters" id="Cities-filters">
  <div>
   <span class="checkbox" style="background-position: 0pt -34px;"></span>
   <input type="checkbox" value="Adelaide" class="styled" name="sidecity" id="sidecity-control-name-0">
   <label for="sidecity-control-name-0">Adelaide (58)</label>
  </div>                    
</fieldset>

[Update]

var inputs = $('.filters-widget.bordered div[class!="filters"]');
 inputs.each(function (index, element) { 
$(element).click("click", function () {
 console.log(element); 
});
 }); 

Когда я нажимаю на div, метод log () вызывается дважды.

Как решить эту проблему?

Ответы [ 3 ]

1 голос
/ 06 февраля 2012

Вы хотите создать пользовательские элементы из разметки?Плохая идея.Попробуйте включить элемент в вашу разметку после настройки отображения его css: нет.Используйте событие изменения элемента, чтобы определить, как показывать элемент разметки.

Это то, что делают пользовательский интерфейс jquery и Uniform.Проверьте их

1 голос
/ 06 февраля 2012

попробуйте .on функцию после стилизации флажков

1 голос
/ 06 февраля 2012

Привязать обработчик события к флажку click событие. Вы можете определить, установлен флажок или нет, проверив атрибут checked в вашем обработчике:

$('#sidecity-control-name-0').click(function() {
    console.log(this.checked);
});

http://jsfiddle.net/qgR42/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...