2011-05-18 12 views
5

बदलने पर अपना मान अपडेट नहीं करता है jQuery attr() बदलते समय अपना मान अपडेट नहीं करता है। यहाँ नीचे मेरी कोड है:jQuery attr()

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Untitled Document</title> 
<script type="text/javascript" src="jquery-1.6.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    var Religion = $("#Religion"), 
     SelectCaste = $("#SelectCaste"), 
     Hindu = $("#Hindu"), 
     Muslim = $("#Muslim"), 
     Christian = $("#Christian"); 

     Religion.change(function(){ 
     var sReligion = $(this).val(); 
     SelectCaste.hide().attr('name', ''); 
     Hindu.hide().attr('name', ''); 
     Muslim.hide().attr('name', ''); 
     Christian.hide().attr('name', ''); 
     if(sReligion=="1") { 
       Hindu.show(); 
       Hindu.attr('name','Caste'); 
      } 
      else if(sReligion=="2") { 
       Muslim.show(); 
       Muslim.attr('name','Caste'); 
      } 
      else if(sReligion=="3") { 
       Christian.show(); 
       Christian.attr('name','Caste'); 
      } 
    }); 
}); 
</script> 
</head> 

<body> 
<table cellpadding="0" cellspacing="0" width="100%"> 
<tr> 
    <td>Religion</td> 
    <td> 
     <select class="FormInput" name="Religion" id="Religion"> 
      <option selected="selected" label="Select" value="">- Select Religion -</option> 
      <option label="Hindu" value="1">Hindu</option> 
      <option label="Muslim" value="2">Muslim</option> 
      <option label="Christian" value="3">Christian</option> 
     </select> 
    </td> 
</tr> 
<tr> 
    <td>Caste</td> 
    <td> 
     <select class="FormInput" id="SelectCaste" disabled="disabled"> 
      <option value="" selected="selected">- Select Caste -</option> 
     </select> 
     <div id="CasteList"> 
     <select class="FormInput" id="Hindu" style="display:none"> 
      <option value="" selected="selected">- Select Caste -</option> 
      <option value="1">Ad Dharmi</option> 
      <option value="2">Adi Dravida</option> 
      <option value="3">Aggarwal</option> 
      <option value="4">Agri</option> 
      <option value="5">Ahom</option> 
      <option value="6">Ambalavasi</option> 
      <option value="7">Arora</option> 
      <option value="8">Arunthathiyar</option> 
      <option value="9">Arya Vysya</option> 
      <option value="10">Others</option> 
     </select> 
     <select class="FormInput" id="Muslim" style="display:none"> 
      <option value="" selected="selected">- Select -</option> 
      <option value="328">Ehle Hadith</option> 
      <option value="329">Gulf Muslims</option> 
      <option value="330">Memon</option> 
      <option value="331">Ansari</option> 
      <option value="332">Arain</option> 
      <option value="333">Awan</option> 
      <option value="334">Bengali</option> 
      <option value="357">Others</option> 
     </select> 
     <select class="FormInput" id="Christian" style="display:none"> 
      <option value="" selected="selected">- Select -</option> 
      <option value="358">Born Again</option> 
      <option value="359">Bretheren</option> 
      <option value="360">CMS</option> 
      <option value="361">CNI</option> 
      <option value="362">CSI</option> 
      <option value="363">Catholic</option> 
      <option value="364">Roman Catholic</option> 
      <option value="365">Evangelical</option> 
      <option value="376">Others</option> 
     </select> 
     </div> 
    </td> 
</tr> 
</table> 
</body> 
</html> 

'धर्म' selectbox बदलते, अन्य लटकती बॉक्स (हिन्दू/मुस्लिम/ईसाई) विशेषता नाम = "जाति" नहीं रखता है।

कृपया मुझे समस्या को ठीक करने में मेरी सहायता करें ..

धन्यवाद।

उत्तर

1

यह काम कर रहा है?

+0

@ हेनरी गारेल: यह आपके द्वारा प्रदान किए गए लिंक में भी काम नहीं कर रहा है। फायरबग के साथ दृश्यमान ड्रॉपडाउन तत्व का निरीक्षण करें। दृश्य ड्रॉपडाउन के लिए नाम विशेषता खाली है। – prajan

+0

Pls यहां स्क्रीनशॉट देखें: [लिंक] (http://i51.tinypic.com/2q2pixe.gif)। मैं फ़ायरफ़ॉक्स 3.6.17 का उपयोग कर रहा हूँ। – prajan

+0

मेरा मुद्दा है, यह मेरे लिए पूरी तरह से काम कर रहा है। मुझे एक स्क्रीनशॉट प्राप्त करने दें। – Henry

3

jQuery के रूप में 1.6+ .attr() एचटीएमएल विशेषताओं और प्रारंभिक सेटिंग्स को संदर्भित करता है, और .prop() डीओएम संपत्ति (जो आप चाहते हैं) को संदर्भित करता है।

अधिक विस्तृत उदाहरणों के लिए 1.6.1 update post और SO question और भी जानकारी के लिए देखें।

यहां सभी attr से prop: jsfiddle के साथ एक jsfiddle है। http://jsfiddle.net/qWasX/1/

क्या आप वाकई अपनी स्क्रिप्ट वाली समस्या हो रही है कर रहे हैं:

+0

आपका अधिकार लेकिन एक नोट के रूप में .attr() को पूरी तरह पिछड़ा संगत बनाया गया है, जबकि आपको .prop(), .attr() का उपयोग करके नई स्क्रिप्ट लिखनी चाहिए। – Henry

+0

यह 1.6.1 में '.attr()' के साथ ठीक काम करने लगता है, लेकिन ऑफ मौके में उन्हें 1.6.0 (किसी भी कारण से) का उपयोग करने के लिए मजबूर किया जाता है, और सामान्य रूप से अंतर में खुद को परिचित करने के लिए मामला jQuery कभी पीछे की संगतता तोड़ता है। – WSkid

+0

@WSKid: FIREBUG के साथ दृश्यमान ड्रॉपडाउन तत्व (हिंदू/मुस्लिम/ईसाई) का निरीक्षण करें। नाम विशेषता का खाली मूल्य है। – prajan

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