2012-07-24 2 views
1

Я создаю пользовательский элемент управления, который будет создавать последовательность элементов html динамически. Некоторые из этих элементов управления будут выпадающими каскадами, управляемыми базой данных. Я видел предложенный метод JQuery .data() и использовал его в примерах для хранения дополнительных данных об элементах управления, но я не знаю, как его реализовать на динамически создаваемых элементах.Как использовать .data() при динамическом создании элементов управления?

Я добавляю элементы таким образом:

new LiteralControl(@"<select onchange=""DoSomething()""></select>") 

Итак, как я могу идти об использовании .data() на этих вновь созданных элементов, так что дополнительные данные сохраняются, когда они создаются? Я хотел использовать пользовательские атрибуты, но я понимаю, что это не широко поддерживается и может быть проблематичным в старых браузерах.

Я очень новичок в веб-материале, поэтому, если я не объясню что-то хорошее, дайте мне знать.

+1

Как насчет добавления атрибутов 'data-foo =" bar "? – zerkms

+0

@zerkms У меня создалось впечатление, что пользовательские атрибуты не поддерживаются до html-5 и что некоторые устаревшие браузеры будут жаловаться. – Yatrix

+0

Пользовательские атрибуты работают практически во всех браузерах, используемых в наши дни, включая десятилетние версии IE, хотя лучше всего использовать атрибуты html5 'data-xzy'. (Официально пользовательские атрибуты могут быть «недействительными», но это не значит, что они не будут работать.) – nnnnnn

ответ

1

Если вы знаете, какие данные должны хранить элементы к моменту создания этих элементов, вы можете использовать атрибуты data-*.

new LiteralControl(@"<select data-id="1" onchange=""DoSomething()""></select>") 
+0

Не тот ответ, который я искал, но вы единственный, кто ответил, и он решает мою проблему. =) – Yatrix

+0

Это определенно способ пойти – Johnny5

+0

Что вы хотите использовать data(), если вы генерируете данные на стороне сервера? –

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