2016-12-12 3 views
1

Я пытаюсь использовать изменение в элементе data-, чтобы вызвать элемент для запуска некоторого jQuery (вместо класса css). HTML ниже генерируется Ruby Gem, поэтому я не контролирую идентификатор. Я добавил элемент данных.jQuery: обнаружение изменения элемента данных

<input data-number-to-text="true" class="numeric integer optional form-control" type="number" step="1" name="deck[cards_attributes][1481571763648][number]" id="deck_cards_attributes_1481571763648_number"> 

Тогда я пытаюсь целевой элемент данных, но это Jquery не огонь:

$(':data(number-to-text)').change(function(){ 
    debugger; 
}) 
+0

посмотреть на http://stackoverflow.com/questions/16781778/detecting-attribute-change-of-value-of-an-attribute-i-made – bjelli

+0

или здесь : http://stackoverflow.com/questions/17528284/does-setting-jquery-data-trigger-an-event – Steve

ответ

1

Вы неправильный селектор, используйте [data-number-to-text="true"] вместо :data(number-to-text):

$('[data-number-to-text="true"]').change(function(){ 
 
    alert('Change triggered'); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input data-number-to-text="true" class="numeric integer optional form-control" type="number" step="1" name="deck[cards_attributes][1481571763648][number]" id="deck_cards_attributes_1481571763648_number"> 
 
Then I am trying to target the data element, but this jQuery does not fire:

+0

@LouysPatriceBessette спасибо, приятно поймать! –

1
$(':data(number-to-text)') 

не то, что вы хотите. Попробуйте следующее.

$("input[data-number-to-text^='true']").change(function(){ 
 
    debugger; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input data-number-to-text="true" class="numeric integer optional form-control" type="number" step="1" name="deck[cards_attributes][1481571763648][number]" id="deck_cards_attributes_1481571763648_number">

Вы можете ознакомиться с выбором элемента по значению атрибута в MDN CSS#Attribute_selectors

+0

Спасибо, но длинный номер в ID создан, поэтому я не могу его использовать. – ardochhigh

+0

Спасибо за редактирование ... Я пытаюсь, но он не срабатывает при вводе данных во вход. – ardochhigh

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