मेरा कोड ऐसा है:
& lt; div class = "features" & gt; & Lt; ul class = "featuresTest" & gt; & Lt; li id = 'chklist1' & gt; & lt; इनपुट आईडी = 'चेकबॉक्स 1' प्रकार = 'चेकबॉक्स' चेक किया गया & & gt; & lt; / li & gt; & Lt; li id = 'chklist2' & gt; & lt; इनपुट आईडी = 'सुविधाओं 2' प्रकार = 'टेक्स्ट बॉक्स' / & gt; & lt; / li & gt; & Lt; li id = 'chklist3' & gt; & lt; इनपुट आईडी = 'चेकबॉक्स 1' प्रकार = 'चेकबॉक्स' चेक / & gt; & lt; / li & gt; & Lt; / ul & gt; & Lt; / div & gt; मेरे कोड में, ये चेकबॉक्स और टेक्स्ट बॉक्स डायरेमिक रूप से जेक्जरी का उपयोग करके उत्पन्न होते हैं।
अब मैं $। प्रत्येक () का उपयोग कर रहा हूं इस खोज को उल टैग के अंदर ली टैग के आईडी के आधार पर करना होगा।
$ ("# textbutton") क्लिक करें (फ़ंक्शन () {$ .getJSON ('@ Url.Action ("GetFeaturePkId")', फ़ंक्शन (फीचरपकिड) {var featurespkid = featurepkid; $ .each ( Featurepkid, function (k, v) {if ($ ("। फीचर्सटीस्ट" gt; li.chklist "+ v +" ") .has ('input [type =" textbox "]')) {चेतावनी (" टेक्स्टबॉक्स ") ;} और {चेतावनी ("चेकबॉक्स");}});});}); उपरोक्त कोड पर फीचरपकिड 1 से 20 देता है।
मैंने इसे करने की कोशिश की, लेकिन असफल।
कृपया कृपया उस मुद्दे पर मुझे सलाह दें ।
जैसा कि आप अपने प्रश्न को संपादित करते हैं I में समस्या आपको जावास्क्रिप्ट कोड में मिलती है।
आप में अगर आपके पास $ ("। FeaturesTest" gt; li.chklist "+ v +" ") .has ('input [type =" textbox "]') .. और तत्वों की वह वापस सरणी ... अगर jQuery चयनकर्ता किसी भी खोज नहीं करता है, तो वह खाली सरणी - [] वापस आती है। तो कथन सही / झूठी तुलना करती है .. लेकिन जब वह खाली सरणी प्राप्त करता है - [] वह इसे [] के रूप में बदलता है। ToString () और यह खाली स्ट्रिंग लौटाता है ... और वह true < / Code>। तो प्रश्न का उत्तर देने के लिए आप
को बदल सकते हैं ($ ("। फीसटेस्ट" gt; li.chklist "+ v +" ") .has ( '($ ("। फीसटेस्ट & gt; li # chklist" + v) इनपुट <प्रकार = "टेक्स्ट बॉक्स"])) code> से
.has ('input [type = "textbox"]')। लंबाई) .leng वें सरणी में तत्वों की गिनती वापस लौटाएगा ... इसलिए जब jQuery चयनकर्ता कुछ भी नहीं खोजते, तो खाली सरणी के कारण 0 और thats false के बजाय true लौटाते हैं।
No comments:
Post a Comment