2008-11-17 10 views
25

मेरे पास एक टेक्स्टबॉक्स है जिसका मूल्य मैं एंकर टैग के आंतरिक पाठ के आधार पर सेट करना चाहता हूं। दूसरे शब्दों में, जब कोई इस एंकर पर क्लिक करता है:मैं jQuery के साथ एंकर का उपयोग करके टेक्स्टबॉक्स का मूल्य कैसे सेट करूं?

<a href="javascript:void();" class="clickable">Blah</a> 

मैं चाहता हूं कि मेरा टेक्स्टबॉक्स "Blah" टेक्स्ट के साथ पॉप्युलेट करे। यहाँ कोड मैं वर्तमान में उपयोग कर रहा हूँ है:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("a.clickable").click(function(event){ 
      $("input#textbox").val($(this).html()); 
     }); 
    }); 
</script> 

और मेरी html में वर्ग "क्लिक करने योग्य" और आईडी "पाठ बॉक्स" के साथ एक पाठ बॉक्स वाले एंकर टैग की एक सूची है।

मैंने $ (यह) .html() के साथ जावास्क्रिप्ट अलर्ट दिखाने के लिए कोड के साथ उपरोक्त कोड को प्रतिस्थापित किया है और ऐसा लगता है कि यह सही मान दिखाता है। मैंने $ (यह) .html() को हार्डकोडेड स्ट्रिंग भी बदल दिया है और यह टेक्स्टबॉक्स मान को सही तरीके से सेट करता है। लेकिन जब मैं उन्हें जोड़ता हूं तो टेक्स्टबॉक्स बस साफ़ हो जाता है। मैं क्या गलत कर रहा हूं?

उत्तर

52

मैं इस कोड का टुकड़ा लिखा था और यह ठीक काम करता है:

<a href="#" class="clickable">Blah</a> 
<input id="textbox"> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("a.clickable").click(function(event){ 
      event.preventDefault(); 
      $("input#textbox").val($(this).html()); 
     }); 
    }); 
</script> 

हो सकता है कि आप अपने लिंक में वर्ग का नाम "क्लिक करने योग्य" देने के लिए भूल गए?

+0

इसके लिए धन्यवाद। आपके कोड से मैं यह बताने में सक्षम था कि क्या गलत हुआ। यह एक सफेद जगह की समस्या थी (मेरे पास एक अलग लाइन पर एंकर टैग के अंदर वास्तविक पाठ था)। –

6

बस ध्यान दें कि चयनकर्ता में टैगनाम का उपसर्ग बस आईडी का उपयोग करने से धीमा है। आपके मामले में jQuery को getElementById का उपयोग करने के बजाय सभी इनपुट प्राप्त होंगे। बस $ ('# टेक्स्टबॉक्स')

+1

यह उत्तर प्रश्न पर एक टिप्पणी के रूप में बेहतर होगा। – icktoofay

1

निम्नलिखित रेडस्क्वेयर का उपयोग करें: आपको href विशेषता जावास्क्रिप्ट कोड जैसे "जावास्क्रिप्ट: शून्य();" में उपयोग नहीं करना चाहिए - यह गलत है। उदाहरण के लिए बेहतर उपयोग href = "#" और फिर अपने ईवेंट हैंडलर में अंतिम कमांड के रूप में: "झूठी वापसी;"। और इससे भी बेहतर - href सही लिंक में उपयोग करें - यदि उपयोगकर्ता के पास जावास्क्रिप्ट अक्षम है, तो वेब ब्राउज़र लिंक का अनुसरण करता है - इस मामले में आपके वेबपृष्ठ को उस लिंक के मूल्य से भरे इनपुट के साथ पुनः लोड करना चाहिए।

4

एक पाठ बॉक्स जिसका आईडी "पाठ बॉक्स" है JQuery में कृपया निम्नलिखित

$ ("# पाठ बॉक्स") कर का मूल्य सौंपें। मिलता है (0) .Value = "blah"

+1

मैंने अभी भी इसी वाक्य पर इस वाक्यविन्यास का उपयोग किया और अविश्वसनीय रूप से, यह काम किया! धन्यवाद! – rixter

14
करने के लिए

एक टेक्स्ट बॉक्स का मान असाइन करें जिसका आईडी jQuery में ёtextboxё है कृपया निम्नलिखित

$("#textbox").val('Blah'); 
+1

मेरा मानना ​​है कि जिस व्यक्ति ने सवाल पूछा वह पहले से ही जानता था, जैसा कि आप उसे अपने कोड में देख सकते हैं। – icktoofay

संबंधित मुद्दे

 संबंधित मुद्दे