2014-09-20 3 views
0

Я пытаюсь пройти val с кнопкой динамического создания.Установите .attr на динамически создаваемую кнопку

Сначала я кнопку создать с помощью этого кода:

<td id=\"row-delete" + length + "\" class=\"row-status\"> 
    <input type='image' id='btnDel' src='Images/trash.png' style='height:24px;width:24px;' /> 
</td> 

Эта линия добавить свою кнопку в столбце таблицы.

После того, что я пытаюсь добавить параметр к этой кнопке:

$("#btnDel").attr("val", "test value"); 

А на и кнопки для мыши я использую:

$('#file-list').on('click', '#btnDel', function() { 
    alert(this.val); 
}); 

По щелчку я всегда получаю undefined, если я пытаюсь использовать id не вал, чем я получаю btnDel, а не test-value.

Могу ли я передать что-то с динамически созданной кнопкой?

Благодаря

+1

вместо 'this.val' использовать' this.value' или '$ (this) .val()' –

+2

'$ (" # btnDel "). Attr (" val "," test value ");' to '$ (" # btnDel "). val (" test value ");' –

+0

@ Kartikeya, @ Amit Garg, спасибо за ответы, я пытаюсь обе вещи и всегда получаю пустое или пустое. Извините, может быть, я не был достаточно ясен (английский - не моя лучшая сторона), эта кнопка html для кнопки создается в файле jquery, а не html, потому что я пишу динамически, может быть, это проблема. – 2014-09-20 12:02:16

ответ

0

В обработчике this является DOM объект, а не объект JQuery. Вы можете либо сделать this.getAttribute('val'), либо $(this).attr('val').

Также обратите внимание, что пользовательские атрибуты HTML5 должны начинаться с data-.

$("#btnDel").attr("data-val", "test value"); 

Затем вы можете использовать this.dataset.val или $(this).data('val').

+0

thanx для ответа, я пишу комментарий с той же самой вещи, я получаю пустое, нулевое или неопределенное значение, когда я пытаюсь ответить, как я написал, может быть, я был недостаточно ясен, потому что мой английский. Я создал html dimacly в jquery-коде, возможно, это проблема. – 2014-09-20 12:04:10

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