JQuery में एक बटन के पाठ को कैसे बदलें?


547

आप jQuery में एक बटन के पाठ मूल्य को कैसे बदलते हैं? वर्तमान में, मेरे बटन में इसके पाठ मान के रूप में 'जोड़ें' है, और क्लिक किए जाने पर मैं इसे 'सहेजें' में बदलना चाहता हूं। मैंने नीचे इस विधि की कोशिश की है, लेकिन अभी तक सफलता के बिना:

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

3
वास्तव में आपके उदाहरण को बटन के मूल्य को बदलने के लिए काम करना चाहिए। मैंने इसे आजमाया और यह काम आया। हो सकता है कि बटन का आईडी अलग या टाइपो हो।
mjspier 12

अभी भी काम नहीं करता है ... JQuery यूआई शैलियों इस कारण हो सकता है?
user517406

4
सर्गेई का जवाब सबसे अच्छा था। यह अपनी शैलियों, पैडिंग और मार्जिन को हटाए बिना jquery बटन पर ठीक से काम कर रहा है।
आआ

इस $ का उपयोग करें ("# btnAddProfile")। प्रोप ('मूल्य', 'सहेजें');
Php डेवलपर

जवाबों:


897

निर्भर करता है कि आप किस प्रकार के बटन का उपयोग कर रहे हैं

<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

EDIT 3 : यदि आप jQuery UI का उपयोग कर रहे हैं, तो आपको टेक्स्ट प्रॉपर्टी को समायोजित करने के लिए DaveUK की विधि ( नीचे ) का उपयोग करने की आवश्यकता है


7
इसका उपयोग करके काम करना शुरू कर दिया। html ('सहेजें'), मैंने ध्यान नहीं दिया कि मैंने अपने बटन पर रनैट = सर्वर सेट किया था, यही वह समस्या थी।
user517406 12

किसी भी तरह से मैं काम करने के लिए इसे प्राप्त कर सकता हूं और क्या यह मेरे jquery ui बटन को सिकोड़ नहीं सकता है?
सातवार्ता

2
इसके बारे में चिंता मत करो। मैं से बदल buttonकरने के लिए inputऔर दौर के बजाय पाठ के साथ खिलवाड़ के प्रतीक बदल दिया है। (मुझे लगता है कि somethings नहीं होना चाहिए थे)
सत्रहवें

8
अगर मैं कुछ मामलों में शैली को गड़बड़ करता हूं तो मैं इसे अस्वीकार कर दूंगा। यदि आप इस एक से परेशान हैं, तो कृपया DewUK के उत्तर का उपयोग करें । पुनश्च: मुझे लगता है कि क्या सेवनहार्ट्स ने देखा, वह भी
user562529

3
इससे भी बेहतर: jQuery और भविष्य-अशुद्धि जाँच के समुचित उपयोग के लिए नीचे दिए गए सर्गेई के उत्तर का उपयोग करें: $ (".seoror")। लेकिन बटन ("विकल्प", "लेबल", "नया पाठ");
सिनकोडेनाडा

148

बटन के साथ के लिए बनाया। बटन () jQuery में ........

जब भी अन्य उत्तर पाठ को बदल देंगे, तो वे बटन की स्टाइल को गड़बड़ कर देंगे, यह पता चलता है कि जब jQuery बटन को प्रस्तुत किया जाता है, तो बटन को पाठ एक अवधि के भीतर घोंसला दिया जाता है जैसे

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

यदि आप स्पैन को हटाते हैं और इसे पाठ के साथ बदलते हैं (अन्य उदाहरणों में) - तो आप स्पैन और संबंधित प्रारूपण को ढीला कर देंगे।

तो आपको वास्तव में स्पैन टैग और नॉट बट्टन के भीतर पाठ को बदलने की आवश्यकता है!

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

या (यदि मेरी तरह यह एक क्लिक ईवेंट पर किया जा रहा है)

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

4
आप इस DOM संरचना को कभी नहीं बदलने की उम्मीद नहीं करनी चाहिए। बेहतर है कि jQuery-UI आपको लेबल बदलने के लिए विधि का उपयोग करने के लिए है (सर्गेई का जवाब देखें)।
माइक डेनिमोन

80

बटन पाठ को बदलने का सही तरीका अगर इसे JQuery का उपयोग करके "बटन" किया गया था।

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

3
इसने मेरे लिए अन्य दृष्टिकोणों से बेहतर काम किया, जो बटन की स्टाइलिंग (विशेष रूप से बटन के आकार) पर केंद्रित था। मैं एक jQuery UI संवाद, FWIW पर एक बटन का उपयोग कर रहा था।
डेव क्रम्बाचेर

8
यह jQuery के साथ बनाए गए बटनों के लिए सही उत्तर है, जैसे डायलॉग पर। अन्य सभी jQuery स्टाइल को नष्ट कर देंगे। यह भी बिना HTML संरचना पर निर्भर करता है कि jQuery उत्पन्न करता है, जो कि अधिक भविष्य का प्रमाण है।
सिनकोडेनाडा

यह इस प्रश्न का सही उत्तर है (ऐसा लगता है कि सवाल Jquery UI बटन के बारे में है, टिप्पणियां देखें), इसे बढ़ावा दिया जाना चाहिए।
peveuve

38

बटन को टेक्स्ट को बदलने के लिए बस jQuery की निम्न लाइन को निष्पादित करें

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

उपयोग

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

जबकि इसके लिए

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

इसे इस्तेमाल करो

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


इसके अलावा, उदाहरण के लिए jquery द्वारा बनाए गए बटनों के लिए $('#thing').append($("<button />")....), आपको टेक्स्ट सेट करने के लिए .html का उपयोग करना होगा।
बेनुबर्ड


22

आपको करने की जरूरत है .button("refresh")

HTML :

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

जेएस :

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

किसी कारण से, मेरे द्वारा बटन को रीफ्रेश करने के लिए आपके कोड का उपयोग करने के बाद ही यह मेरे लिए काम करेगा, लेकिन मैंने यह भी देखा कि बटन पर आइकन (JQuery मोबाइल CSS का हिस्सा) इसे ताज़ा करने के बाद खो जाता है (हालांकि आपका समाधान सबसे नज़दीकी था मुझे मिला)।
सियारन गलाघेर

12

यदि आपके पास अपना बटन है तो यह काम करने लगता है:

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

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


10

आप इस तरह से कुछ का उपयोग कर सकते हैं:

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

आप इस तरह से अतिरिक्त गुण भी जोड़ सकते हैं:

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

इनपुट बटन या सबमिट बटन पर काम नहीं करता, वैल ()
एक्टिवएक्स

8

आप उपयोग कर सकते हैं

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

हालांकि

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

के रूप में अच्छी तरह से काम करेगा, लेकिन यह भ्रामक है (यह आभास देता है कि आप कुछ लिख सकते हैं

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

लेकिन निश्चित रूप से आप नहीं कर सकते



5
$("#btnAddProfile").click(function(){
    $("#btnAddProfile").attr('value', 'Save');
 });

10
प्रश्न से गैर-कार्य कोड को दोहराना उत्तर नहीं है।
बेनुबर्ड

4

यह मेरे लिए काम कर रहा है html:

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

js

$("#btnSaveSchedule").text("new value");

4

$(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

क्या आपने आईडी के बजाय अपने बटन को एक वर्ग दिया है? निम्नलिखित कोड का प्रयास करें

$(".btnSave").attr('value', 'Save');

1
$("#btnviewdetails").click(function(){
    if($(this).val()!="hide details"){
        $("#detailedoutput").show();
        $(this).val('hide details');
    }else{
        $("#detailedoutput").hide();
        $(this).val('view more details');
    }

});

अपने उत्तर के बारे में कुछ विवरण शामिल करें।
Starx

कृपया अपने उत्तर के साथ विवरण शामिल करें। मुझे कोई सुराग नहीं है कि आप यहां क्या करने की कोशिश कर रहे हैं।
अनुराग



0

यह बिल्कुल सही है, यह मेरे लिए काम करता है;

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

क्या आप सुनिश्चित हैं कि Jquery उपलब्ध है और आपका कोड सही जगह पर है?



0

C # में बटन शिष्टाचार का नाम बदलना।

<button type="submit" name="add" id="btnUpdate" class="btn btn-primary" runat="server" onserverclick="btnUpdate_Click">
Add

btnUpdate.**InnerText** = "Update";
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.