web-dev-qa-db-ja.com

JQueryでボタンのテキストを変更する方法

JQueryでボタンのテキスト値をどのように変更しますか?現在、私のボタンはテキスト値として '追加'を持っています、そしてクリックされたときに '保存'に変更したいです。私は以下でこの方法を試しましたが、これまでのところ成功していません。

$("#btnAddProfile").attr('value', 'Save');
479
user517406

使用しているボタンの種類によって異なります

<input type='button' value='Add' id='btnAddProfile'>
$("#btnAddProfile").attr('value', 'Save'); //versions older than 1.6

<input type='button' value='Add' id='btnAddProfile'>
$("#btnAddProfile").prop('value', 'Save'); //versions newer than 1.6

<!-- Different button types-->

<button id='btnAddProfile' type='button'>Add</button>
$("#btnAddProfile").html('Save');

あなたのボタンはまたリンクかもしれません。より具体的な回答を得るには、HTMLを投稿する必要があります。

_ edit _ :これらは.click()呼び出しでラップしたと仮定しても動作します、もちろん

編集2 :新しいjQueryバージョン(> 1.6以降)は.propではなく.attrを使用します

編集3 :jQuery UIを使用している場合、textプロパティを調整するDaveUKの方法( below )を使用する必要があります。

801
JohnP

JQueryの.Button()で作成されたボタンの場合........

他の答えはボタンのスタイルをめちゃくちゃにするテキストを変更しますが、それはjQueryのボタンがレンダリングされたときにボタンのテキストがスパン内にネストされていることがわかりました。

<button id="thebutton">
  <span class="ui-button-text">My Text</span>
</button>

スパンを削除して(他の例のように)それをテキストに置き換えると、スパンとそれに関連するフォーマットが失われます。

そのため、実際には、ボタンではなくSPANタグ内のテキストを変更する必要があります。

$("#thebutton span").text("My NEW Text");

または(私のようにクリックイベントで行われている場合)

$("span", this).text("My NEW Text");
136
DaveUK

JQueryを使用してボタンテキストを「ボタン化」した場合にボタンテキストを変更する正しい方法は、.button()メソッドを使用することです。

$( ".selector" ).button( "option", "label", "new text" );
80
Sergey

ボタンのテキストを変更するには、次のjQueryを実行してください。

<input type='button' value='XYZ' id='btnAddProfile'>

つかいます

$("#btnAddProfile").val('Save');

しばらくの間

<button id='btnAddProfile'>XYZ</button>

これを使って

$("#btnAddProfile").html('Save');

34
Sangeet Menon
32
rsplak

.button("refresh")する必要があります

_ html _

<button id='btnviewdetails' type='button'>SET</button>

_ js _

$('#btnviewdetails').text('Save').button("refresh");
19
user1464277

あなたがあなたのボタンをボタンで固定しているなら、これはうまくいくようです:

<button id="button">First caption</button>

$('#button').button();//make it Nice
var text="new caption";
$('#button').children().first().html(text);
12
Gluip

あなたはこのようなものを使うことができます:

$('#your-button').text('New Value');

このような追加のプロパティを追加することもできます。

$(this).text('New Value').attr('disabled', true).addClass('bt-hud').unbind('click');
9
PurplePier

$("#btnAddProfile").text("Save");

9
i_emmanuel

あなたが使用することができます

$("#btnAddProfile").text('Save');

だが

$("#btnAddProfile").html('Save');

うまくいくが、それは誤解を招く(それはあなたがのように書くことができるという印象を与える

$("#btnAddProfile").html('Save <b>now</b>');

もちろんできません

8
gotofritz
document.getElementById('btnAddProfile').value='Save';
6
curtisk
$("#btnAddProfile").click(function(){
    $("#btnAddProfile").attr('value', 'Save');
 });
5
sauerburger

それは私のための仕事のHTMLです:

<button type="button" class="btn btn-primary" id="btnSaveSchedule">abc</button>

js

$("#btnSaveSchedule").text("new value");
4
Grey Wolf

ボタンにIDではなくクラスを割り当てましたか。次のコードを試してください

$(".btnSave").attr('value', 'Save');
2
Nicholas Murray
$(document).ready(function(){
    $(":button").click(function(){
        $("p").toggle();

    if (this.value=="Add") this.value = "Save";
    else this.value = "Add";

  });
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>

<input type='button' value='Add' id='btnAddProfile'>

<p>This is a paragraph with little content.</p>
<p>This is another small paragraph.</p>

</body>
</html>
2

これでうまくいくはずです。

$("#btnAddProfile").prop('value', 'Save');       
$("#btnAddProfile").button('refresh');
1
Olle Klang
$("#btnAddProfile").html('Save').button('refresh');
1
Drastick
    $( "#btnAddProfile" ).on( "click",function(event){
    $( event.target ).html( "Save" );
});
0

ボタンのエチケットの名前をC#で変更。

<button type="submit" name="add" id="btnUpdate" class="btn btn-primary" runat="server" onserverclick="btnUpdate_Click">
Add
btnUpdate.**InnerText** = "Update";
0
iizquierdo
$("#btnviewdetails").click(function(){
    if($(this).val()!="hide details"){
        $("#detailedoutput").show();
        $(this).val('hide details');
    }else{
        $("#detailedoutput").hide();
        $(this).val('view more details');
    }

});
0
Feng

それは正確に正しい、これは私のために働く。

    $('#btnAddProfile').bind('click',function(){
    $(this).attr('value','save');
})

jqueryが利用可能であり、コードが正しい場所にあることを確認していますか?

0
John Beynon