سؤال

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

دعنا نقول:

<form action='#' id='formId'>
<input id='name' />
<input id='surname'/>
</form>

كيف يمكنني الوصول إليها بشكل فردي مع jquery؟ حاولت شيئا مثل $('#formId > input') مع عدم وجود نجاح، في الواقع عرض خطأ على وحدة التحكم "XML filter is applied to non-XML value (function (a, b) {return new (c.fn.init)(a, b);})"

ربما يجب أن أفعل ذلك مع. الأطفال أو شيء من هذا القبيل؟ أنا جديد جدا في جيسي وأنا لست حقا أحب المستندات. كان من الودية كثيرا في Mootools، أو ربما أحتاج فقط إلى التعود عليه.

أوه وأخيرا وليس آخرا، لقد رأيته من قبل ولكن لا توجد إجابة نهائية، هل يمكنني إنشاء عنصر دوم جديد مع مسج وعمل معها قبل إدراجها (إذا قمت بذلك على الإطلاق) في التعليم الكود؟ في Mootools، كان لدينا شيء مثل var myEl = new Element(element[, properties]);ويمكنك بعد ذلك الرجوع إليها في التعبيرات الإضافية، لكنني فشلت في فهم كيفية القيام بذلك على جيس

ما انتهى به الأمر كان شيئا مثل هذا: $('#where').before("<a id='linkId' href='#'>Link Text</a>") لكن هذا يهزم متطلبات العمل معه قبل إدراجه إذا كنت تعرف ما أقصده.

شكرا مقدما.

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

المحلول

آمل أن يكون هذا يجيب عن أسئلتك.

<script type="text/javascript">

$(document).ready(function() {
        // Question part 1
    var formInputs = $("form#formId :input");
    formInputs.each(function(index) {
         alert(index + ': ' + $(this).attr("id") + "=" + $(this).val());
    });

        // Question part 2
    var a = $("<a id='linkId' href='#'>Link Text</a>");
    a.click(function(){alert("hello")});
    $('#where').before(a);


});
</script>

<form action="#" id="formId">
  <input id="name" type="text" value="foo" />
  <input id="surname" type="text" value="bar" />
  <div>
  <input id="phone" type="text" value="911"/>
  </div>
</form>
</div>
<div id="where"></div>

نصائح أخرى

إذا كنت تريد كل أحفاد ثم أعمال الإجابة @ Woland. إذا كنت حقا تريد فقط الأطفال المباشرين كما هو موضح من قبل> ثم

$('#form').children('input')

تطابق Wolands الاسم واللقب والهاتف. من الألغام مباريات فقط الاسم واللقب

<form action='#' id='formId'>
<input id='name' />
<input id='surname'/>
<div>
<input id='phone'/>
</div>
</form>

وإليك كيف يعمل:

$('#formId input')

إذا كنت ترغب في حلقة من خلال جميع المدخلات، نلقي نظرة على each() وظيفة في جيس:

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