كيف يمكنني الوصول إلى المتغيرات المرسلة في الطلب عبر jQuery؟

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

سؤال

أنا أستخدم الدعامات. يحتوي ActionForm الخاص بي على قائمة ArrayList التي تم إعدادها داخلها ، كيف يمكنني الوصول إلى الصفيف من JSP التي يتم إرسال ActionForm إلى وحدة التحكم في jQuery على زر. هذا حتى أتمكن من الحلقة من خلال عناصر تلك الصفيف. أعتقد أنه شيء من هذا القبيل ، لكن هذا طعن في الظلام (الذي لا يعمل).

$('myButton').click(function(){
    var myArrayToLoopThrough = $('myForm.myArray');
    for(){
        //looping stuff
    }
}
هل كانت مفيدة؟

المحلول

تعمل JQuery على HTML التي تم إنشاؤها بواسطة JSP الخاص بك.

لذا ألق نظرة على HTML المولدة في المتصفح باستخدام أداة مثل Firebug for Firefox.

ثم يمكنك استخدام jQuery لتحديد وتكرار عناصر HTML. فيما يلي بناء الجملة الأساسي للأشياء الأكثر فائدة:

حدد معرف: $("#id")

حدد حسب الفصل: $(".class")

حدد بواسطة علامة HTML: $("p") أو $("span")

تكرار على اختيار

$(...something...).each(function(){
   // this is the DOM element
   // $(this) is a jQuery object containing the DOM element
});

وثائق jQuery الرسمية على المختارين


تعديل

بناءً على تعليقاتك ، يبدو أنك تبحث عن طريقة للتواصل مع كائنات الخادم بدلاً من HTML.

JavaScript (JQuery مكتوب في JavaScript) هي لغة متصفح ويب يمكنها التفاعل فقط مع HTML المولدة. لا يتم إرسال كائنات Java الخاصة بك إلى المتصفح.

إذا كنت بحاجة إلى استرداد البيانات من الخادم ، فأنت بحاجة إلى طلب HTTP جديد لاسترداد هذه البيانات. يمكن القيام بذلك في jQuery باستخدام طرق AJAX.

نصائح أخرى

قد ترغب في التحقق .serializeArray(). يمكنك الحصول على جميع البيانات من النموذج إلى كائن لطيف حتى تتمكن من فعل ما تريد مع البيانات.

jQuery .SerializeArray () وثائق

var data = $('#form-id').serializeArray();

الآن يمكنك حلقة من خلال data. المفاتيح name و value.

هل هذا ما تبحث عنه؟

$('.myButton').click(function(e) {
    var data = $(this).closest('form').serializeArray();
    for( var i = 0; i < data.length; i++ ) {
        var field = data[i];
        console.log( field.name + '=>' + field.value );
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top