/ / jQuery: एक ही वस्तु पर चेन क्रियाएं - jquery, chaining, jquery-easyui

jQuery: एक ही वस्तु पर श्रृंखला क्रियाएं - jquery, chaining, jquery-easyui

मुझे पता है कि jQuery के चैनिंग पर पहले से ही विभिन्न प्रश्न हैं, लेकिन मैं इस (शायद सरल) के लिए एक जवाब नहीं ढूंढ सका। jQuery के लिए एक नवागंतुक को क्षमा करें।

मैं जिस चीज की तलाश कर रहा हूं वह एक ही वस्तु पर विभिन्न कार्यों / घटनाओं को लागू करने का एक छोटा तरीका है। अधिक विशिष्ट, मेरे पास निम्नलिखित कोड है

$("#dlg").dialog("open").dialog("setTitle","Title").dialog("refresh","dlg.html");

क्या लिखने का कोई तरीका नहीं है .dialog तीन बार, बल्कि कुछ की तर्ज पर

$("#dlg").dialog(action 1, action 2, etc.)

? मैं अभी तक वाक्य रचना से परिचित नहीं हूं, इसलिए मुझे कोई सुराग नहीं है कि क्या तर्क को घुंघराले ब्रेसिज़ में जाने की ज़रूरत है, बीच में अर्धविराम के साथ, या अल्पविराम, या ... किसी भी मदद के लिए धन्यवाद!

P.S .: इस उदाहरण में संवाद एक jQuery का EasyUI संवाद है, अगर इससे कोई अंतर पड़ता है।


अद्यतन करें: यह देखकर कि मेरे प्रश्न का उत्तर "नहीं" प्रतीत होता है, क्या होगा श्रेष्ठ ऊपर कमांड लिखने का तरीका? अर्थात। है

$("#dlg").dialog("open")
$("#dlg").dialog("setTitle","Title")
$("#dlg").dialog("refresh","dlg.html")

ऊपर की पंक्ति की तुलना में दक्षता के मामले में बेहतर / बदतर, या वहाँ अभी तक एक और (बेहतर) तरीका है? त्वरित मदद के लिए धन्यवाद!

उत्तर:

जवाब के लिए 2 № 1

आप जो कर रहे हैं, उसके लिए मूल रूप से नहीं हैवैकल्पिक। आप एक लूप के साथ कुछ पागल कर सकते हैं, लेकिन दिन के अंत में यह सिर्फ जटिलता जोड़ रहा है और जब तक आप अपने कोड में सैकड़ों बार ऐसा नहीं कर रहे हैं, यह प्रयास के लायक नहीं है।

मुझे लगता है कि आप जानते हैं कि आप किसी वस्तु को एक कॉल में विभिन्न मानों को पास कर सकते हैं जो कि एक संवाद को आसान बनाने के लिए है, ईज़ीयूआई डॉक्स के अनुसार:

$("#dd").dialog({
title: "My Dialog",
width: 400,
height: 200,
closed: false,
cache: false,
href: "get_content.php",
modal: true
});

उत्तर № 2 के लिए 1

JQuery में नहीं, इसे प्राप्त करने का कोई तरीका नहीं है, लेकिन आप किसी भी समर्थन के लिए विशिष्ट कार्यान्वयन की जांच कर सकते हैं।

परीक्षण करने के लिए एक और समाधान होगा destroy और हर बार संवाद बनाएं।

$("#dlg").dialog("destroy");
$("#dlg").dialog({....})

जवाब के लिए 0 № 3

आप एक साथ सभी विजेट मापदंडों में से कुछ को सेट करने में सक्षम हो सकते हैं लेकिन फिर भी आपको बाद में "ओपन" जैसी विधि को कॉल करना होगा

$("#target").dialog(
width: 400,
height: 200,
title:,
// ...
});
$("#target").open()
// ...

देख प्रलेखन डायलॉग के मापदंडों और विजेट हस्ताक्षरों के बारे में जानकारी के लिए