2014-09-23 2 views
0

Мой кофе скрипт получает запущен через эту линию:розжига Javascript на нескольких идентификаторами

$(document).on 'change', '#myid1' 

Теперь он должен также получить запущенного на изменения

'#myid2' 
'#myid3' 
'#myid4' 
. 
. 
. 
And so on.. 

И он должен также помнить номер, запустившей скрипт. Например, если # myid1 изменен, javascript должен быть запущен и сохранить «1».

Как это сделать?

С уважением!

+4

'$ ("[ID = MyID]") на ('изменения', функция() {})' должны сделать трюк – AdityaParab

+0

'$ (документ) .on ("изменение".. , "#, #ever, #id", function() {...}); ' – pistou

+1

Является ли это javascript или coffeescript? – Barmar

ответ

2

Это вы что искали?

Код:

$(document).on('change', '#myid1, #myid3, #myid4', function() { 
    var id = $(this).attr('id'); 
    var num = id.substring(id.length - 1, id.length); 

    alert(num); // Should alert the correct value (1, 3, 4 etc...) 
}); 

Вы также можете посмотреть на добавление класса к каждому элементу (т.е. <input type="text" class="inputElem" id="myid1" />

А затем изменить код, чтобы обрабатывать изменения, основанные на этом классе вместо листинга Идентификаторы :

$(document).on('change', '.inputElem', function() { 
    var id = $(this).attr('id'); 
    var num = id.substring(id.length - 1, id.length); 

    alert(num); // Should alert the correct value (1, 3, 4 etc...) 
}); 
+0

Еще лучшим решением было бы добавить атрибут 'data-attribute' для элемента типа' data-num = 1' и предупредить об этом атрибуте 'alert ($ (this) .data ('num'));' для того, чтобы избегайте проблем с многозначными номерами (10, 100, 1000 ...) – pistou

+0

Привет, спасибо, что ответ мне очень помог. Проблема в том, что подстрока даст мне только последнюю цифру. Поэтому, если я получил myid10, он вернется 0. Попробовал использовать это вместо: 'var num = id.replaceAll (" [^ 0-9] "," ") ;, но он возвращает мне ошибку. – Syk

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