У меня это в фрагменте кода Ext Grid
header: 'Player',
dataIndex: 'SoundFile',
width: 600,
renderer: function (value)
{
if (value != null) {
return '<div id="jquery_jplayer_' + value + '"></div>'
}
else
return 'n/a'
}
<div id="jquery_jplayer_' + value + '"></div>
- создаваемый элемент.
Мне нужно, чтобы после того, как каждый элемент был создан и добавлен в DOM, мне нужно выполнить следующий JS-код.
$('#jquery_jplayer_' + value).jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
m4a: "/audio.m4a?id=" + $(this).id
});
},
play: function () {
$(this).jPlayer("pauseOthers");
},
swfPath: "jQuery.jPlayer.2.5.0",
supplied: "m4a",
cssSelectorAncestor: "#jp_container_" + value,
wmode: "window",
smoothPlayBar: true,
keyEnabled: true
});
Как выполнить этот JS для каждого элемента, созданного Ext Grid?
По какой-то причине jQuery не может получить доступ к <div id="jquery_jplayer_' + value + '"></div>
вообще.
Похоже, это возможно, когда вы выполняете инструкцию jquery. Возможно, разметка Ext еще не создана, и вам придется ждать дольше в жизненном цикле компонента. Я лично попытаюсь подключиться к событию на GridView