2016-02-13 44 views
0

我想在点击链接时将隐藏输入值更改为truefalsejQuery在点击时操纵DOM

<a href="#" class="open-advanced-search">Advanced search</a> 

advanced_search = $('.advanced-search-block .hidden-block') 
advanced_search_field = $('#payment_search_advanced_search') 

$('.open-advanced-search').on 'click', -> 
    if '#help needed here' 
    $(advanced_search).show() 
    $(advanced_search_field).attr('value', 'true') 
    else 
    $(advanced_search).hide() 
    $(advanced_search_field).attr('value', 'false') 
    return 
return 

我知道,有一种方法toggle但是这足以让我,因为我也想更新HTML元素。

回答

1

你并不需要一个if ... else,可以做到既显示/隐藏和真/假开关在一个块中,像这样:

$(advanced_search).toggle() 
$(advanced_search_field).attr('value', $(advanced_search).is(':visible')) 

第一行切换的知名度和关闭。第二行然后会读出它是否现在可见,如果是,结果是true否则false

+0

真棒,谢谢! – user2931706