如何更改jQuery中的button的文本?
你如何改变jQuerybutton的文本值? 目前,我的button有“添加”作为其文本的价值,被点击后,我希望它更改为“保存”。 我已经尝试了下面的这个方法,但到目前为止没有成功:
$("#btnAddProfile").attr('value', 'Save');
取决于你正在使用的buttontypes
<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');
你的button也可以是一个链接。 您需要发布一些HTML以获得更具体的答案。
编辑 :这些将工作,假设你已经包在一个.click()
调用,当然
编辑2 :较新的jQuery版本(> 1.6)使用.prop
而不是.attr
编辑3 :如果你使用的是jQuery UI,你需要使用DaveUK的方法( 下面 )调整文本属性
在jQuery中使用.Button()创build的button……..
虽然其他答案会改变文本,他们会弄乱button的样式,事实certificate,当一个jQuerybutton被呈现时,button的文本嵌套在一个范围内,例如
<button id="thebutton"> <span class="ui-button-text">My Text</span> </button>
如果您删除了跨度并将其replace为文本(如其他示例中所示),则会丢失跨度和关联的格式。
所以你实际上需要改变SPAN标签内的文本,而不是button!
$("#thebutton span").text("My NEW Text");
或者(如果像我这样做是在点击事件)
$("span", this).text("My NEW Text");
如果使用JQuery“button化”,更改button文本的正确方法是使用.button()方法:
$( ".selector" ).button( "option", "label", "new text" );
使用.val()
这是JSfiddle的链接
要改变一个button的文本,只需执行下面一行jQuery for
<input type='button' value='XYZ' id='btnAddProfile'>
使用
$("#btnAddProfile").val('Save');
而为
<button id='btnAddProfile'>XYZ</button>
用这个
$("#btnAddProfile").html('Save');
你需要做.button("refresh")
HTML :
<button id='btnviewdetails' type='button'>SET</button>
JS :
$('#btnviewdetails').text('Save').button("refresh");
如果你有button的button,这似乎工作:
<button id="button">First caption</button> $('#button').button();//make it nice var text="new caption"; $('#button').children().first().html(text);
$("#btnAddProfile").click(function(){ $("#btnAddProfile").attr('value', 'Save'); });
document.getElementById('btnAddProfile').value='Save';
$("#btnAddProfile").text("Save");
你可以使用这样的东西:
$('#your-button').text('New Value');
你也可以添加这样的额外属性:
$(this).text('New Value').attr('disabled', true).addClass('bt-hud').unbind('click');
您可以使用
$("#btnAddProfile").text('Save');
虽然
$("#btnAddProfile").html('Save');
也可以工作,但这是误导性的(给人的印象是你可以写一些类似的东西
$("#btnAddProfile").html('Save <b>now</b>');
但是当然你不能
这对我有用html:
<button type="button" class="btn btn-primary" id="btnSaveSchedule">abc</button>
JS
$("#btnSaveSchedule").text("new value");
你给你的button一个类,而不是一个ID? 尝试下面的代码
$(".btnSave").attr('value', 'Save');
这应该做的伎俩:
$("#btnAddProfile").prop('value', 'Save'); $("#btnAddProfile").button('refresh');
$("#btnAddProfile").html('Save').button('refresh');
这是完全正确的,这对我有用;
$('#btnAddProfile').bind('click',function(){ $(this).attr('value','save'); })
你确定JQuery是可用的,你的代码是在正确的地方吗?
$("#btnviewdetails").click(function(){ if($(this).val()!="hide details"){ $("#detailedoutput").show(); $(this).val('hide details'); }else{ $("#detailedoutput").hide(); $(this).val('view more details'); } });
$( "#btnAddProfile" ).on( "click",function(event){ $( event.target ).html( "Save" ); });
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function(){ $(":button").click(function(){ $("p").toggle(); if (this.value=="Add") this.value = "Save"; else this.value = "Add"; }); }); </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>