คุณจะเปลี่ยนค่าข้อความของปุ่มใน jQuery ได้อย่างไร? ปัจจุบันปุ่มของฉันมี 'เพิ่ม' เป็นค่าข้อความและเมื่อคลิกฉันต้องการให้เปลี่ยนเป็น 'บันทึก' ฉันได้ลองวิธีนี้ด้านล่าง แต่ยังไม่ประสบความสำเร็จ:
$("#btnAddProfile").attr('value', 'Save');
คุณจะเปลี่ยนค่าข้อความของปุ่มใน jQuery ได้อย่างไร? ปัจจุบันปุ่มของฉันมี 'เพิ่ม' เป็นค่าข้อความและเมื่อคลิกฉันต้องการให้เปลี่ยนเป็น 'บันทึก' ฉันได้ลองวิธีนี้ด้านล่าง แต่ยังไม่ประสบความสำเร็จ:
$("#btnAddProfile").attr('value', 'Save');
คำตอบ:
ขึ้นอยู่กับประเภทของปุ่มที่คุณใช้
<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 เพื่อรับคำตอบที่เฉพาะเจาะจงยิ่งขึ้น
แก้ไข : สิ่งเหล่านี้จะใช้งานได้หากคุณห่อไว้ใน.click()
สายแน่นอน
แก้ไข 2 : เวอร์ชัน jQuery ที่ใหม่กว่า (จาก> 1.6) ใช้.prop
แทน.attr
แก้ไข 3 : หากคุณใช้ jQuery UI คุณจะต้องใช้วิธีการของ DaveUK ( ด้านล่าง ) ในการปรับคุณสมบัติข้อความ
button
เป็นinput
และเปลี่ยนไอคอนรอบแทนที่จะล้อเล่นกับข้อความ (ฉันคิดว่าบางสิ่งไม่ได้หมายความว่าจะเป็น)
สำหรับปุ่มที่สร้างขึ้นด้วย. ปุ่ม () ใน jQuery ........
ในขณะที่คำตอบอื่น ๆ จะเปลี่ยนข้อความที่พวกเขาจะเลอะสไตล์ของปุ่มมันปรากฎว่าเมื่อปุ่ม 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");
วิธีที่ถูกต้องในการเปลี่ยนข้อความปุ่มถ้าเป็น "buttonized" โดยใช้ JQuery คือการใช้วิธีการ. button ():
$( ".selector" ).button( "option", "label", "new text" );
หากต้องการเปลี่ยนข้อความในปุ่มเพียงแค่ดำเนินการบรรทัด jQuery ต่อไปนี้สำหรับ
<input type='button' value='XYZ' id='btnAddProfile'>
ใช้
$("#btnAddProfile").val('Save');
ในขณะที่สำหรับ
<button id='btnAddProfile'>XYZ</button>
ใช้สิ่งนี้
$("#btnAddProfile").html('Save');
$('#thing').append($("<button />")....)
คุณต้องใช้. html เพื่อตั้งค่าข้อความ
ใช้ .val()
คุณต้องทำ .button("refresh")
HTML :
<button id='btnviewdetails' type='button'>SET</button>
JS :
$('#btnviewdetails').text('Save').button("refresh");
หากคุณได้ทำปุ่มแล้วปุ่มของคุณมันก็ใช้งานได้:
<button id="button">First caption</button>
$('#button').button();//make it nice
var text="new caption";
$('#button').children().first().html(text);
$("#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>');
แต่แน่นอนคุณไม่สามารถ
document.getElementById('btnAddProfile').value='Save';
$("#btnAddProfile").click(function(){
$("#btnAddProfile").attr('value', 'Save');
});
มันใช้งานได้สำหรับฉัน html:
<button type="button" class="btn btn-primary" id="btnSaveSchedule">abc</button>
js
$("#btnSaveSchedule").text("new value");
$(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>
คุณให้ปุ่มเป็นคลาสแทน id หรือไม่? ลองรหัสต่อไปนี้
$(".btnSave").attr('value', 'Save');
$("#btnviewdetails").click(function(){
if($(this).val()!="hide details"){
$("#detailedoutput").show();
$(this).val('hide details');
}else{
$("#detailedoutput").hide();
$(this).val('view more details');
}
});
สิ่งนี้ควรทำเคล็ดลับ:
$("#btnAddProfile").prop('value', 'Save');
$("#btnAddProfile").button('refresh');
$("#btnAddProfile").html('Save').button('refresh');
ถูกต้องแล้วมันใช้ได้กับฉัน;
$('#btnAddProfile').bind('click',function(){
$(this).attr('value','save');
})
คุณแน่ใจว่า Jquery พร้อมใช้งานและรหัสของคุณอยู่ในตำแหน่งที่ถูกต้องหรือไม่
$( "#btnAddProfile" ).on( "click",function(event){
$( event.target ).html( "Save" );
});
การเปลี่ยนชื่อของมารยาทปุ่มใน C #
<button type="submit" name="add" id="btnUpdate" class="btn btn-primary" runat="server" onserverclick="btnUpdate_Click">
Add
btnUpdate.**InnerText** = "Update";