Доступ к компонентам Tab2 из jQuery
Я пытаюсь получить в настоящее время сосредоточенный идентификатор компонента. Для этого я использовал следующий jQuery:
<script>
$(document).ready(function(){
$("*").focus(function(){
$('#hiddenInput').val($(this).attr('name'));
});
});
</script>
у меня есть tabview
с 2 вкладками и вкладками dynamic
атрибут установлен в true
, jQuery не запускается для компонентов tab2, когда я переключаюсь на tab2. Я заметил, что источник HTML не генерируется для компонентов tab2. Как мне решить проблему?
Сгенерированная разметка приведена ниже:
<div class="ui-tabs-panels">
<div id="j_idt76:j_idt77" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" aria-hidden="false">
<table cellpadding="5" cellspacing="5">
<tbody>
<tr>
<td><label> Customer ID</label></td>
<td>
<input id="j_idt76:j_idt82" name="j_idt76:j_idt82" type="text" value="0893000453 " size="45" readonly="readonly" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" />
<script id="j_idt76:j_idt82_s" type="text/javascript">PrimeFaces.cw('InputText','widget_j_idt76_j_idt82', id:'j_idt76:j_idt82'});</script>
</td>
</tr>
</tbody>
</table>
</div>
<div id="j_idt76:j_idt147" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-helper-hidden" role="tabpanel" aria-hidden="true"></div>
</div>
2 ответа
<script>
$(document).ready(function(){
$("body").delegate(":input", "focus", function(){
$('#hiddenInput').val($(this).attr('name'));
});
});
</script>
We can achieve this using delegate function.
Разметка tabview приведена ниже...
Я заметил пару вещей,
1. Даже когда я нажимаю tab2, разметка для компонентов в tab2 не создается, поэтому невозможно получить доступ к компоненту.
2. Когда я обновил свою форму с помощью Ajax, я не могу получить доступ к компонентам, которые были доступны до вызова ajax.
<div class="ui-tabs-panels">
<div id="j_idt76:j_idt77" role="tabpanel" aria-hidden="false">
<table>
<tbody>
<tr>
<td><input id="j_idt76:j_idt82" name="j_idt76:j_idt82" type="text" /></td>
Other components....
</tr>
</tbody>
</table>
</div>
<div id="j_idt76:j_idt147" role="tabpanel" aria-hidden="true"></div>
</div>
В приведенном выше коде разметка для компонентов в Tab1(j_idt76:j_idt77) создается, но не для Tab2(j_idt76:j_idt147).