2014-09-06 29 views
-1

我有這個有用的函數,在點擊一個按鈕時切換隱藏輸入的值。或者,我還需要切換是否所述按鈕具有適用於它的「活動」類。在腳本中添加或刪除一個'active'類,該類已經使用Jquery切換隱藏輸入的值

HTML:

<input class="toggleinput" type="hidden" name="value1"> 
<input class="toggleinput" type="hidden" name="value2"> 
<input class="toggleinput" type="hidden" name="value3"> 

<ul> 
<li><button class="toggle" name="value1" value="yes">Button 1</button></li> 
<li><button class="toggle" name="value2" value="1">Button 2</button></li> 
<li><button class="toggle" name="value3" value="indeed">Button 3</button></li> 
</ul> 

JAVASCRIPT:

$('button.toggle').click(function() { 
    var value = this.value; 
    $('input.toggleinput[name="' + this.name + '"]').val(function() { 
     return this.value.length ? '' : value; 

    }) 

     }) 

據我瞭解,該腳本檢查,看是否有值應用於輸入,如果不是的話,那麼它是應用按鈕的值?

如果按鈕沒有被壓下,在按下按鈕時,最好的方法是將「active」類與按鈕類一起添加到按鈕中?當再次按下該按鈕將其刪除時?

+0

如果任何人有任何想法,爲什麼這可能已經downvoted,請讓我知道。如果我發佈對社區沒有幫助的問題,那麼知道問題是什麼是一個問題會很有幫助。謝謝。 – CRAIG 2014-09-06 17:01:41

回答

0

更容易地看到,如果你將其更改爲text輸入代碼的作用)的隱藏innstead)作爲測試:

的jsfiddle:http://jsfiddle.net/TrueBlueAussie/3938kLof/4/

$('button.toggle').click(function() { 
    var value = this.value; 
    $('input.toggleinput[name="' + this.name + '"]').val(function() { 
     return this.value.length ? '' : value; 
    }); 
    $(this).toggleClass('active'); 
}) 

$(this)轉換按下DOM元素(按鈕,作爲this傳遞)到jQuery元素中。 toggleClass做它在錫上說...它切換課程。