У меня очень странная проблема с Fancybox.Вход внутри Fancybox
Кажется, что я не могу получить .val() входов, отображаемых в Fancybox. Они имеют значение «». Однако входы вне Fancybox работают.
Мой код:
<script type="text/javascript">
$(document).ready(function() {
$('a#inline').fancybox({
'hideOnContentClick': false,
'frameWidth': 500,
'frameHeight': $('#avatars').height(),
'callbackOnShow':
function() {
$('#gallery div img').click(function(){
$('#inline img').attr('src', $(this).attr('class'));
$('input#avatar').attr('value', $(this).attr('class'));
});
$('button').click(function(){
console.log($('input#search_avatar'));
return false;
});
}
});
});
И HTML:
<fieldset>
<div id="avatars" style="float:left; width:500px; display:none;">
<form method="post" action="">
<fieldset>
<input type="text" name="search_avatar" id="search_avatar" />
<button id="search_avatar_submit">Filter</button>
</fieldset>
<div id="gallery">
<div><img src="2_s.jpg" class="2_s.jpg" /></div>
</div>
</form>
</div>
<a id="inline" href="#avatars"><img id="avatar" src="file.png" /></a>
<input type="hidden" name="avatar" value="" id="avatar" />
</fieldset>
Так в принципе. Я нажимаю на ссылку. Появляется Fancybox. Добавить текст на входе (это текст), когда я нажимаю я получу это (в Firebug):
[input#search_avatar, input#search_avatar This is text]
Когда я выполнить это:
$('#search_avatar').val()
я получаю:
""
Спасибо!
Функция живой() в JQuery может помочь вам. Я не могу полностью изучить вашу проблему прямо сейчас, но это может быть ваш ответ. –
Спасибо. Я попробовал это на кнопке $ ('button'). Click. Но нет, не работает :( Когда я устанавливаю значение вручную, используя $ ('# search_avatar'). Val ('test'). Значение меняется. После этого, когда я пытаюсь получить его через $ (' #search_avatar '). val() он отображается (Firebug) –