2015-08-13 41 views
1

我有一個按鈕("#btnchangepass"),按鈕的值是"show"。如果我點擊該按鈕,則該值必須在"hide"中更改,如果再次單擊該按鈕,該值必須更改,因爲它始於"show"開頭。jQuery按鈕值

我寫了這段代碼,但我不知道如何取回按鈕的開始值。有人能幫我一把嗎?

按鈕不是隱藏的,它只是按鈕的值,按鈕上顯示的名稱是hideshow

$('#btnshowhide').click(function(){ 
    $("#btnshowhide").prop('value', 'hide'); 
}); 
+0

您不能單擊一個隱藏的元素,所以如果你隱藏它,你需要點擊另一個可見的項目,以顯示它再次。 –

+0

@Michelem op想要更改按鈕的值,而不是顯示和隱藏。 –

+0

哦,我的壞我不明白, –

回答

1

您可以檢查其狀態,並相應地改變值:

$('#btnshowhide').click(function() { 
 
    if ($("#btnshowhide").val() == 'show') { 
 
     $("#btnshowhide").prop('value', 'hide'); 
 
    } else { 
 
     $("#btnshowhide").prop('value', 'show'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="btnshowhide" value="show" />

Fiddle

+0

Yess,你是唯一真正理解這個問題的人,非常感謝你! :) – krusty

+0

我不認爲我是唯一一個,但嘿,很高興我可以幫助 – chiapa

0

只需使用hide()

$('#btnshowhide').click(function(){ 
    $(this).hide(); 
}); 

更新:

對不起,我聽不懂,所以你需要的東西是這樣的:

JSFiddle

HTML:

<input type="submit" value="hide" id="btnshowhide" /> 

JS:

$(document).ready(function() { 
    $('#btnshowhide').click(function() { 
     if ($(this).val() === "hide") { 
      $(this).val("show"); 
     } else { 
      $(this).val("hide"); 
     } 
    }); 
}); 
+0

更改按鈕的值,而不是隱藏。 –

+0

謝謝你的回答:) – krusty

1

如果您正在使用jQuery < 1.8用途:

$('#btnshowhide').toggle(function() { 
    $("#btnshowhide").attr('value', 'hide'); 
}, function() { 
    $("#btnshowhide").attr('value', 'show'); 
}); 

否則,如果你只是想隱藏的按鈕和顯示,使用三元運算符:

$('#btnshowhide').click(function() { 
    $(this).attr('value', $(this).attr('value') == 'hide' ? 'show' : 'hide');; 
}); 

使用.attr()代替.prop(),a後者主要用於布爾值。

0

使用以下

​​

0

我會建議使用data屬性:

$('#btnshowhide').click(function(){ 
    var val = $(this).val(); 
    var newVal = ""; 

    if(val === "hide") { 
     newVal = $(this).data("show-text"); 
    } else { 
    newVal = $(this).data("hide-text"); 
    } 

    $(this).val(newVal); 
}); 
1

$('#btnshowhide').click(function() { 
 
    $(this).val($(this).val() === 'show' ? 'hide' : 'show'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="button" id="btnshowhide" value="show" />