jQuery

2010-04-23 5 views
15

का उपयोग कर div शीर्षक बदलने के लिए कैसे मैं निम्नलिखित कोड है:jQuery

<div id="DivPassword" title="test" > 

मैं div शीर्षक बदलना चाहते हैं और मैं निम्नलिखित कोड है:

function ChangeAttribute() { 
     $("#DivPassword") 
      .attr('title', 'Photo by Kelly Clark'); 
     $('#DivPassword').dialog('open'); 
     return false; 
    } 

जब संवाद खोला गया है, शीर्षक अभी भी परीक्षण है! अगर मैं div को कोई शीर्षक निर्दिष्ट नहीं करता हूं, तो संवाद कोई शीर्षक नहीं दिखाता है। मैं इसे कैसे ठीक कर सकता हूं?


function ChangeAttribute() { 
     $("#DivPassword") 
      .attr('title', 'Photo by Kelly Clark') 
      .dialog('open'); 

     alert($("#DivPassword").attr('title')); 
    } 

$('#DivPassword').dialog({ 
      autoOpen: false, 
      width: 800, 
      buttons: { 
       "Cancel": function() { 
        $(this).dialog("close"); 
       }, 
       "Accept": function() { 
       alert($(this).attr('title')); 
        $(this).dialog("close"); 
       } 
      } 
     }); 

<script type="text/javascript"> 
    var Dtitle; 
    $(function() { 
     $('#DivPassword').dialog({ 

      autoOpen: false, 
      width: 800, 
      title : Dtitle, 
      buttons: { 
       "Cancel": function() { 
        $(this).dialog("close"); 
       }, 
       "Accept": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 

    function ChangeAttribute(name) { 
     $("#DivPassword") 
      .attr('title', name) 
      .dialog('open'); 
     Dtitle = $("#DivPassword").attr('title'); 
     alert(Dtitle); 
    } 


</script> 

उत्तर

1

सभी उत्तरों के लिए धन्यवाद।

$('#DivPassword').dialog({ होना ही था के बाद .dialog('open');

सबसे आसान तरीका है इस प्रकार है क्या करने के लिए किया गया था:

$("#DivPassword") 
      .dialog('open'); 
     $('#DivPassword').dialog({ 
      autoOpen: false, 
      title: $('#DivPassword').attr('title') + name, 
      width: 400, 
      buttons: { 
       "Cancel": function() { 
        $(this).dialog("close"); 
       }, 
       "Accept": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
1

आप किसी भी सुझाव को यहाँ दी का प्रयास किया है: How to change an element’s title attribute using jQuery?

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

+0

मैं काफी परेशान हूं, उपर्युक्त उत्तरों में से कोई भी काम नहीं किया है! – learning

0

ऐसा लगता है जैसे आपकी प्लगइन उस ChangeAttribute फ़ंक्शन पर पहुंचने से पहले शीर्षक पढ़ रहा है। आपके द्वारा पोस्ट किया गया कोड निश्चित रूप से शीर्षक विशेषता को बदल देगा, इसलिए दृश्यों के पीछे कुछ और चल रहा है।

इसके अलावा, जब मैं यहां हूं, तो चेनिंग का उपयोग करना न भूलें। JQuery में अधिकांश फ़ंक्शंस एक ही ऑब्जेक्ट को फिर से लौटाते हैं:

$("#DivPassword").attr('title', 'Photo by Kelly Clark').dialog('open'); 

// or like this, perhaps easier to read: 

$("#DivPassword") 
    .attr('title', 'Photo by Kelly Clark') 
    .dialog('open') 
; 
+0

मैंने उपरोक्त संपादित कोड में अलर्ट जोड़ने की कोशिश की है। लेकिन हालांकि दोनों शीर्षक सही शीर्षक दिखा रहे हैं, शीर्षक प्रदर्शित नहीं किया जा रहा है। – learning

0

संवाद खोलने के बाद शीर्षक विशेषता सेट करने का प्रयास करें। शायद आपका dialog.open() शीर्षक विशेषता को रीसेट कर देगा।

मुझे लगता है कि आप खुली घटना के लिए कॉलबैक फ़ंक्शन प्रदान कर सकते हैं।

देखें open

+0

अगर यह रीसेट हो रहा था, तो मुझे नहीं लगता कि इनिटल शीर्षक प्रदर्शित किया गया होगा! तुम उसके बारे में क्या सोचते हो? असाइन किया जा रहा नया शीर्षक प्रदर्शित नहीं किया जा रहा है। – learning

21

आप सीधे इनके साथ एक संवाद का शीर्षक बदल सकते हैं:

$('#DivPassword').dialog('option', 'title', 'Photo by Kelly Clark'); 

यह आपके मामले में काम करेंगे। वास्तव में, शीर्षक विशेषता को बदलने के लिए आपका कोड सही है। मुझे लगता है कि संवाद प्लगइन संवाद बनाता है जब .dialog पहले कहा जाता है। खुली विधि सिर्फ div को फिर से बनाये बिना संवाद को प्रदर्शित करती है।

+0

मैंने उपरोक्त संपादित भाग में कोड बदल दिया है। फिर भी, मैं यह नहीं समझ सकता कि यह क्यों काम नहीं कर रहा है। – learning

+0

आप अभी भी शीर्षक सेट करने के लिए संवाद-विधि का उपयोग नहीं करते हैं। आप अपनी चेतावनी-कथन से पहले अपनी लाइन जोड़ सकते हैं और इसे काम करना चाहिए। –

+0

सही काम करता है - मैं विभिन्न पदों और लेखों से इन सभी अन्य तरीकों का प्रयास कर रहा था। यह स्पष्ट रूप से सबसे सुरुचिपूर्ण समाधान है .. उर्फ, सबसे अच्छा! मैं कुछ महीनों के लिए jquery संवाद के साथ सीख रहा/काम कर रहा हूं, और केवल पहली बार चीजों को करने का तरीका देख रहा हूं। सुनिश्चित नहीं है कि दस्तावेज़, टट्स और पोस्ट इस प्रकार के समाधान पर अधिक जोर क्यों नहीं देते हैं क्योंकि यह कई अलग-अलग कोड स्थितियों में बहुत उपयोगी/शक्तिशाली है ..? .. एक महान एक लाइनर साझा करने के लिए बड़ा धन्यवाद – gnB

0

संवाद का शीर्षक निर्दिष्ट करता है। शीर्षक को डायलॉग स्रोत तत्व पर शीर्षक विशेषता द्वारा भी निर्दिष्ट किया जा सकता है।

कोड उदाहरण

शीर्षक विकल्प निर्दिष्ट के साथ एक संवाद प्रमाणित करें।

$(".selector").dialog({ title: 'Dialog Title' }); 

init के बाद शीर्षक विकल्प प्राप्त या सेट करें।

//getter 
var title = $(".selector").dialog("option", "title"); 
//setter 
$(".selector").dialog("option", "title", 'Dialog Title'); 

source

आपके the dialog doesnt show any title का उत्तर देने के लिए।

0

मैं इस किया था:

$("#div1").dialog({ autoOpen: false, modal: true, height: 420, width: 750, resizable: false }); 
//more code 
$("#div1").dialog("option", "title", "joopla, here is a new title"); 

यह मैं

1
$("#div1").dialog({ autoOpen: false, modal: true, height: 420, width: 750, resizable: false }); 
// more code 
$("#div1").dialog("option", "title", "joopla, here is a new title"); 
लिए काम करता है

.. मेरे लिए चाल किया

7

आप के रूप में आसान के रूप में jQuery के साथ किसी भी डोम तत्व से किसी भी attr बदल सकते हैं:

$("#divMessage").attr('title', 'Type here the new Title text'); 

चीयर्स!