создать список ввода с помощью этой функции:JQuery на «щелчок» на динамическую генерируемую списке возвращает «пустой строки»
function buildHTMLinputfields(data, form_id){
var row$ = '';
for(var i = 0; i < data.length; i++){
row$ = " <label for='check1'>" + data[i].Attribute_Name + "<input data-guid='" + data[i].GUID + "' type='checkbox' name='" + data[i].Name + "' value='" + data[i].Name + "' id='check1' checked='checked'> " + data[i].Name + " </label><br>";
$(form_id).append(row$);
}
}
выхода на моем сайте:
<label for="check1">
Adressierung
<input type="checkbox" checked="checked" id="check1" value="volladressierbar" name="volladressierbar" data-guid="17caabea-c313-48c9-b965-739ef8d09a1f"> volladressierbar
</label><br>
<label for="check1">
Adressierung
<input type="checkbox" checked="checked" id="check1" value="teiladressierbar" name="teiladressierbar" data-guid="d4419b55-3bb1-4efd-8f1c-f2ae3ed46988"> teiladressierbar
</label><br>
<label for="check1">
Empfänger
<input type="checkbox" checked="checked" id="check1" value="privat" name="privat" data-guid="c14733e5-64f1-4141-a366-a9fd5dfa0aff"> privat
</label><br>
<label for="check1">Empfänger<input type="checkbox" checked="checked" id="check1" value="Gewerbe" name="Gewerbe" data-guid="6febb58c-8c1d-4f84-a647-5409107c2002"> Gewerbe
</label><br>
Так хорошо ... У меня есть checkboxen ввода.
Теперь я хочу получить предупреждение или файл console.log, если я нажму на один флажок.
Это моя функция для него (Вот проблема, я думаю,):
function test(){
$('body').on('click', 'input', function(){
var text = '';
text = $('#check1').text(); // empty???
console.log(text); // Output -> (an empty string)
});
}
Консоль говорит мне: (пустая строка)
Я ищу все время в Google и SO, но я не могу найти свою проблему.
Я стараюсь это (без успеха):
Click event on dynamically generated list items using jquery
Для вашей информации (я думаю, что это очень важно) - я инициализировать функции здесь:
function ip_get_order_filters(){
var cookie_value_bearer = getCookie('ip_token');
var setHeader = function (xhr) {
xhr.setRequestHeader('Authorization', "Bearer " + cookie_value_bearer);
};
$.ajax({
crossdomain: true,
url: 'https://testapi.***.de/***',
type: 'GET',
contentType: 'application/x-www-form-urlencoded',
beforeSend: setHeader,
dataType: 'json',
success: function (data) {
buildHTMLinputfields(data, '#filterform'); //generate the input list
test();
}
});
}
У вас есть несколько элементов с идентификатором 'id =" check1 "в вашем HTML. Атрибут 'id' должен быть уникальным. – haim770