Не могу поймать элемент, после его создания
Имеется такой код.
При изменении выбора элемента в $("#jform_categories") пытаюсь проверить существование скрытого поля с id=#hidden-category и если его нету, пытаюсь добавить его в форму.
Скрытое поле добавляется, но всегда, даже если оно туда уже добавилось в предыдущем ивенте.
Как решить данную проблему...
!(function() {
jQuery(document).ready(function($) {
$("#jform_categories").chosen({
}).change(function(event){
if(event.target == this){
var values = $(this).val();
var form = $(this).closest('form');
var element = $(form).find('#hidden-category');
if (element.length > 0) {
} else {
$('<input>').attr({
type: 'hidden',
id: '#hidden-category',
name: 'fieldname'
}).appendTo(form);
}
}
});
});
})();
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
В атрибуте-то решетки не будет:
$('<input>').attr({
type: 'hidden',
id: 'hidden-category', // !!!
Автор решения: Vadim
→ Ссылка
Так куда проще и слаще:
$((){
$('#jform_categories').chosen({}).change(({currentTarget})=>{
// const values = $(currentTarget).val();
const $forma = $(currentTarget).closest('form');
if($forma.find('#hidden-category').length > 0)return false;
$forma.append(`<input id="hidden-category" name="fieldname" hidden>`);
});
});
Хз что это .chosen({}), как гугол говорит - возможно вы имели ввиду .focus
Не надо классов и +5 под авотаркой, просто возьми код и всо