كيفية العثور على عنصر أتش تي أم أل الذي تم إنشاؤه ديناميكيا?

StackOverflow https://stackoverflow.com/questions/3312560

سؤال

أنا بحاجة للحصول على مثيل من جانب العميل من رادكومبوبوكس (أو القيمة المحددة حديثا من رادكومبوكس) عندما بلدي رادغريد يترك وضع التحرير حتى أتمكن من نشر القيمة التي تم تغييرها إلى الخادم.

المشكلة هي أن معرف العميل للكائن يتغير دائما.أيضا ، لا يتم إنشاء رادكومبوبوكس في وقت التشغيل-يتم إنشاؤها فقط بعد المستخدم النقر المزدوج صف معين من رادغريد بلدي.لذلك ، بناء الجملة مثل

var SundayLoc = $find("<%= FieldOpsScheduler_ctl00_ctl05_RCB_SunLocale.ClientID %>");

يساوي تفشل.حتى بدأت في الحصول على القيم المتغيرة ، وكنت قادرا على الابتعاد مع هذا:

var SundayLoc = $find("FieldOpsScheduler_ctl00_ctl05_RCB_SunLocale");

هذا يعمل تماما في كل مرة حتى أضفت بعض الكائنات فاصل الصف الذي يسبب الآن" كتل05 " من إدس لتغيير دائما اعتمادا على الصف الذي يضع المستخدم في وضع التحرير.لقد حاولت استخدام جميع المسائل من الحصول على هذا الكائن وقيمته ، ولكن دون جدوى.

كنت سأحاول استخدام التعبيرات العادية حتى بعد قراءة إجابة ويكي المجتمع بواسطة بوبينس في التعبير العادي المباراة العلامات المفتوحة باستثناء شتمل العلامات بذاتها جلبت لي إلى إدراك أن إغراء لتحليل هتمل مع التعبيرات العادية هو عمل غير مقدس الشيطان تفرخ (أنه وبعد مزيد من البحث جئت إلى استنتاج مفاده أن التعبيرات العادية ربما لن تساعدني).

على أي حال ، إذا كان بإمكان شخص ما طرح بعض الأفكار في طريقي ، فأنا أقدر ذلك كثيرا.شكرا لكم مقدما.

هل كانت مفيدة؟

المحلول 2

حسنا ، الإجابة التي انتهى بي الأمر بها ليست بليغة حقا ، لكنها موثوقة بنسبة 100 ٪ وكلها من جانب العميل (وهو أمر جيد لأن شركتي لديها إي 7 كمتصفح ويب قياسي لها).

كنت قادرا على التخلص من حفنة من-العثور على الأوامر وإذا-البيانات لأنني لم يعد لديك للبحث عن معرفات هتمل محددة.

        function SelectedIndexChanged(sender,eventArgs)
        {
            var rcbID = sender.get_id();
            var LocID = rcbID.substring(0,37) + "Locale";
            pastCombo = currentCombo;
            currentCombo = eventArgs.get_item().get_text();

            if(editedRow != null)
            {
                var Location = $find(LocID);

وبما أن المعرفات لم يتم إنشاؤها من جانب الخادم (بقدر ما أستطيع أن أقول ، على الرغم من المسلم به أنني لم أحاول حل رواتين لأنني كنت قد فكرت في الألغام قبل أن أرى إجابته + الألغام بدا أكثر بساطة منذ أنا بالفعل القيام حفنة من الاشياء العميل داخل جافا سكريبت) ، نظرت حولي لمعرفة ما كنت بالفعل الحصول على ، وأدركت أن هناك العديد من الأشياء التي var rcbID = sender.get_id(); كان بالفعل الحصول على لي قيمة مماثلة للغاية لما كنت أبحث عنه بالفعل (فقط بدلا من ذلك قائلا سونلوكالي ، وقال سوناكتيفيتي).

لذلك أنا أحسب مهلا ، يمكنني فرعية () من كل شيء في ربد ومن ثم إلحاق "لغة" لذلك ، ومن ثم تشغيل find البحث() الأمر على ذلك من أجل الحصول على لي رادكومبوبوكس السليم.تبين أنه يعمل.على أي حال ، على الرغم من أنني أشكركم يا رفاق على النظر في مشكلتي على الرغم من أنني انتهى بي الأمر لإيجاد الحل الخاص بي.:-)

نصائح أخرى

  • قم بإنشاء قائمة من نوع ما على جانب الخادم لتتبع معرف التحكم
  • عند تقديم الصفحة لأي سبب من الأسباب، اكتب هذه المعرف في كتلة البرنامج النصي (ضعها في صفيف أو أيا كان)
  • عندما تحتاج إلى تقديم قيمك، يمكنك استخدام محتويات صفيف JavaScript للإشارة إلى عناصر التحكم.

قد تضطر إلى القيام بأعمال أكثر قليلا للعثور على قيمك الفعلية.بالنسبة لعدد التحكم في السراويل الهوائية في Ingragistics، فإنها توفر طريقة خاصة للحصول على معلومات حول "التحكم" ككل.يمكن أن تحتوي ضوابط RAD على شيء مماثل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top