दिलचस्प पोस्ट
CoreData संबंध गलती? MVC Html.DropDownList () में आइटम की स्थिर सूची कैसे जोड़ें एंड्रॉइड में मेरे एप्लिकेशन से केवल संदेश प्राप्त करने के लिए लॉगक फ़िल्टर करें? सी ++ RTTI व्यवहार्य उदाहरण पारदर्शी इमेजबटन कैसे करें: एंड्रॉइड मेवेन का उपयोग करते समय सख्त Java 8 Javadoc के आसपास काम कैसे करें विभिन्न ब्राउज़र में सरणी सॉर्टिंग स्थिरता रैंक 2 टाइप्स का उद्देश्य क्या है? एंड्रॉइड @ ओवरराइड उपयोग लार्वेल के सार्वजनिक फ़ोल्डर से बचें और सीधे वेब सर्वर में रूट खोलें प्रतिक्रियाप्रदर्शन में कुंजीपेज इवेंट हैंडलिंग ServletDispatcher को Javax.servlet पर डाली नहीं जा सकता। मेरे वसंत परियोजना में अपवाद अपवाद आप बाल प्रक्रिया के लिए विशेषाधिकारों को कैसे हटा सकते हैं? प्रत्येक एप्लिकेशन के लिए ऐप की अनुमति कैसे प्राप्त करें? एंड्रॉइड पर यह कैसे प्रोग्राम करना है? PHP में उचित रिपोझिटरी पैटर्न डिजाइन?

मैं एक के साथ तत्वों का चयन करने के लिए jQuery कैसे प्राप्त करूं (अवधि) अपने आईडी में?

निम्न कक्षाएं और नियंत्रक क्रिया विधि को देखते हुए:

public School { public Int32 ID { get; set; } publig String Name { get; set; } public Address Address { get; set; } } public class Address { public string Street1 { get; set; } public string City { get; set; } public String ZipCode { get; set; } public String State { get; set; } public String Country { get; set; } } [Authorize(Roles = "SchoolEditor")] [AcceptVerbs(HttpVerbs.Post)] public SchoolResponse Edit(Int32 id, FormCollection form) { School school = GetSchoolFromRepository(id); UpdateModel(school, form); return new SchoolResponse() { School = school }; } 

और निम्न रूप:

 <form method="post"> School: <%= Html.TextBox("Name") %><br /> Street: <%= Html.TextBox("Address.Street") %><br /> City: <%= Html.TextBox("Address.City") %><br /> Zip Code: <%= Html.TextBox("Address.ZipCode") %><br /> Sate: <select id="Address.State"></select><br /> Country: <select id="Address.Country"></select><br /> </form> 

मैं स्कूल के उदाहरण और स्कूल के पता सदस्य दोनों को अपडेट करने में सक्षम हूं। यह काफी अच्छा है! ASP.NET MVC टीम को धन्यवाद!

हालांकि, मैं ड्रॉप डाउन सूची का चयन करने के लिए jQuery का उपयोग कैसे कर सकता हूं ताकि मैं इसे पूर्व-भरण कर सकूं? मुझे पता है कि मैं यह सर्वर साइड कर सकता हूं लेकिन पेज पर अन्य गतिशील तत्व होंगे जो सूची को प्रभावित करते हैं।

निम्नलिखित है जो मैंने अभी तक किया है, और यह काम नहीं करता क्योंकि चयनकर्ताओं को आईडी से मेल नहीं लगता है:

 $(function() { $.getJSON("/Location/GetCountryList", null, function(data) { $("#Address.Country").fillSelect(data); }); $("#Address.Country").change(function() { $.getJSON("/Location/GetRegionsForCountry", { country: $(this).val() }, function(data) { $("#Address.State").fillSelect(data); }); }); }); 

Solutions Collecting From Web of "मैं एक के साथ तत्वों का चयन करने के लिए jQuery कैसे प्राप्त करूं (अवधि) अपने आईडी में?"

Google समूह से :

प्रत्येक विशेष चरित्र से पहले दो बैकस्लैश का उपयोग करें

JQuery चयनकर्ता में एक बैकस्लैश अगले चरित्र से बच जाता है। लेकिन आपको इनमें से दो की आवश्यकता है क्योंकि बैकस्लैश जावास्क्रिप्ट स्ट्रिंग्स के लिए एस्केप कैरेक्टर भी है। पहला बैकस्लैश दूसरे से बच जाता है, जिससे आप अपनी स्ट्रिंग में एक वास्तविक बैकस्लैश दे सकते हैं – जो फिर jQuery के लिए अगले अक्षर से बच जाता है।

तो, मुझे लगता है कि आप देख रहे हैं

 $(function() { $.getJSON("/Location/GetCountryList", null, function(data) { $("#Address\\.Country").fillSelect(data); }); $("#Address\\.Country").change(function() { $.getJSON("/Location/GetRegionsForCountry", { country: $(this).val() }, function(data) { $("#Address\\.State").fillSelect(data); }); }); }); 

यह भी जांच कर सकते हैं कि मैं एक तत्व द्वारा एक तत्व का चयन कैसे करूँ जो कि सीएसएस संकेतन में वर्णित वर्ण हैं? jQuery के सामान्य प्रश्न पर

यदि आईडी में रिक्त स्थान हैं, तो आप एक jQuery आईडी चयनकर्ता का उपयोग नहीं कर सकते। एक विशेषता चयनकर्ता का उपयोग करें:

 $('[id=foo bar]').show(); 

यदि संभव हो, तो तत्व प्रकार को भी निर्दिष्ट करें:

 $('div[id=foo bar]').show(); 

Jquery के लिए इसे बच:

 function escapeSelector(s){ return s.replace( /(:|\.|\[|\])/g, "\\$1" ); } 

उपयोग उदाहरण:

 e.find('option[value='+escapeSelector(val)+']') 

अधिक जानकारी यहां ।

एएसपी.नेट एमवीसी के रिलीज उम्मीदवार ने अभी इस मुद्दे को तय कर दिया था, अब यह आईडी विशेषता के लिए अंडरस्कोर के साथ डॉट्स को बदल देता है।

 <%= Html.TextBox("Person.FirstName") %> 

को प्रस्तुत करने के लिए

 <input type="text" name="Person.FirstName" id="Person_FirstName" /> 

अधिक जानकारी के लिए रिलीज नोट्स देखें, पृष्ठ 14 से शुरू हो रहा है।

यह jQuery चयनकर्ता दस्तावेज़ में प्रलेखित है:

किसी भी मेटा-वर्ण का उपयोग करने के लिए (जैसे !"#$%&'()*+,./:;<=>?@[\]^`{|}~ ) एक नाम का एक शाब्दिक भाग के रूप में, इसे दो id="foo.bar" साथ बच जाना चाहिए: \\ उदाहरण के लिए, id="foo.bar" वाला एक तत्व, चयनकर्ता $("#foo\\.bar")

संक्षेप में, उपसर्ग को के साथ \\ इस प्रकार है:

 $("#Address\\.Country") 

क्यों नहीं मेरे आईडी में काम करते हो?

समस्या यह है कि . विशेष महत्व है, स्ट्रिंग निम्नलिखित एक क्लास चयनकर्ता के रूप में व्याख्या की जाती है। तो $('#Address.Country') <div id="Address" class="Country"><div id="Address" class="Country"> $('#Address.Country') <div id="Address" class="Country"> मैच होगा

जब \\. रूप में भाग गए , डॉट को किसी विशेष महत्व के साथ सामान्य पाठ के रूप में माना जाएगा, आईडी की इच्छा से मिलान करना <div id="Address.Country">

यह सभी पात्रों पर लागू होता है !"#$%&'()*+,./:;<=>?@[\]^`{|}~ जो अन्यथा jQuery में चयनकर्ता के रूप में विशेष महत्व होगा। \\ उन्हें सामान्य पाठ के रूप में व्यवहार करने के लिए

क्यों 2 \\ ?

जैसा कि bdukes जवाब में कहा, वहाँ एक कारण है कि हम 2 \ वर्ण की आवश्यकता है \ जावास्क्रिप्ट में निम्नलिखित वर्ण से बच जाएगा जब जावास्क्रिप्ट स्ट्रिंग "#Address\.Country" व्याख्या करता है, तो इसे देखेंगे, इसका मतलब यह अर्थ है कि निम्नलिखित पात्रों को नम्र रूप से ले लें और स्ट्रिंग को $() के तर्क के रूप में पारित किया जाए। इसका अर्थ है कि jQuery अभी भी स्ट्रिंग को "#Address.Country" । देश "#Address.Country" रूप में देखेंगे

यही वह जगह है जहां दूसरा गेम खेलने में आता है। पहली बार एक शाब्दिक (गैर-विशेष) चरित्र के रूप में दूसरे को व्याख्या करने के लिए जावास्क्रिप्ट को बताता है इसका अर्थ है कि दूसरा, jQuery के द्वारा देखा जाएगा और समझें कि निम्नलिखित चरित्र एक शाब्दिक चरित्र है

ओह! शायद हम कल्पना कर सकते हैं कि

 // Javascript, the following \ is not special. // | // | // v $("#Address\\.Country"); // ^ // | // | // jQuery, the following . is not special. 

दो बैकस्लैश का उपयोग करना ठीक है, यह काम है लेकिन यदि आप एक गतिशील नाम का उपयोग कर रहे हैं, मेरा मतलब है, एक चर नाम, आपको वर्णों को बदलने की आवश्यकता होगी।

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

 var variable="namewith.andother"; var jqueryObj = $(document.getElementById(variable)); 

और आपके पास अपनी जेक्जरी ऑब्जेक्ट है।

बस अतिरिक्त जानकारी: इस ASP.NET MVC समस्या # 2403 देखें ।

जब तक समस्या ठीक नहीं हो जाती, तब तक मैं अपनी ही एक्सटेंशन विधियों जैसे Html.TextBoxFixed, आदि का उपयोग करता हूं। यह केवल आईडी विशेषता (नाम विशेषता में नहीं) के साथ डॉट्स को बदल देता है, ताकि आप $ ("# address_Street") जैसे jquery का उपयोग करें। लेकिन सर्वर पर, यह पता। Street की तरह है।

नमूना कोड निम्नानुसार है:

 public static string TextBoxFixed(this HtmlHelper html, string name, string value) { return html.TextBox(name, value, GetIdAttributeObject(name)); } public static string TextBoxFixed(this HtmlHelper html, string name, string value, object htmlAttributes) { return html.TextBox(name, value, GetIdAttributeObject(name, htmlAttributes)); } private static IDictionary<string, object> GetIdAttributeObject(string name) { Dictionary<string, object> list = new Dictionary<string, object>(1); list["id"] = name.Replace('.', '_'); return list; } private static IDictionary<string, object> GetIdAttributeObject(string name, object baseObject) { Dictionary<string, object> list = new Dictionary<string, object>(); list.LoadFrom(baseObject); list["id"] = name.Replace('.', '_'); return list; } 

मैंने इस मुद्दे को jquery डॉक्स द्वारा दिए गए समाधान के साथ हल किया

मेरा कार्य:

 //funcion to replace special chars in ID of HTML tag function jq(myid){ //return "#" + myid.replace( /(:|\.|\[|\]|,)/g, "\\$1" ); return myid.replace( /(:|\.|\[|\]|,)/g, "\\$1" ); } 

नोट: मैं "#" को निकाल देता हूं क्योंकि मेरे कोड में मैं आईडी को दूसरे टेक्स्ट के साथ मुकाबला करता हूं

फ़ॉन्ट: एक्स्प्लोरल वर्ण के साथ जेक्जरी डॉक्स का चयन तत्व