Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Bзменение value поля при активности вкладки (https://javascript.ru/forum/jquery/19339-bzmenenie-value-polya-pri-aktivnosti-vkladki.html)

padlas 02.08.2011 12:20

Bзменение value поля при активности вкладки
 
В javascript, так же как и в jquery? полный 0.
Есть код
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<style type="text/css">
некий css
</style>

<script type="text/javascript">
(function($) {
$(function() {

        $('ul.tabs').delegate('li:not(.current)', 'click', function() {
                $(this).addClass('current').siblings().removeClass('current')
                        .parents('div.section').find('div.box').hide().eq($(this).index()).fadeIn(500);
        })

})
})(jQuery)
</script>
<div class="section">
<ul class="tabs">
<li class="current">tab1</li>
<li>tab2</li>
<li>tab3</li>
<li>tab4</li>
</ul>
<div class="box visible"><input type="hidden" name="tab1" value="0" /></div>
<div class="box"><input type="hidden" name="tab2" value="0" /></div>
<div class="box"><input type="hidden" name="tab3" value="0" /></div>
<div class="box"><input type="hidden" name="tab4" value="0" /></div>
</div>


Как сделать так, что если таб активен, то value у поля 1, а если не активна, то 0..
Заранее спасибо за помощь!

walik 02.08.2011 12:26

мб так
$(this).siblings().find('input').val('0');
$('input', this).val('1');

padlas 02.08.2011 12:51

walik,
неа, не помогло.. :(

walik 02.08.2011 12:58

$('div.box input').val('0');
$('div.box.visible input').val('1');

padlas 02.08.2011 13:25

walik,
работает, но только на первой вкладке, потому что visible не уходит с первой вкладки на остальные.
К видимому слою с классом box добавляется style="display: block;" или style="display: none;" соответственно

walik 02.08.2011 13:29

У меня работает нормально

padlas 02.08.2011 13:49

у меня value="1" только у поля tab1 всегда и больше никак не меняется
может я просто не в то место вставляю...:-?


Часовой пояс GMT +3, время: 07:05.