كيف يمكنني إعادة ترتيب حقل الإدخال الخاص بي عن طريق تغيير السمة؟

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

  •  18-09-2019
  •  | 
  •  

سؤال

كيف يمكنني إعادة ترتيب مدخلاتي عند استدعاء وظيفتي؟

أي: عند النقر فوق زر حذف A2 الآن لدي A1 و A3 و A4 أريد إعادة ترتيب هذا بحيث يكون A1 أو A2 (كان A3) و A3 (كان A4). أعرف كيفية القيام بذلك يدويا، لكن كيف أكتبها ديناميكيا؟

النصي:

 $ (وظيفة () {$ ('. deleteme'). انقر (وظيفة () {$ (this). sparentent () .Remove () .Remove ()؛ // إعادة تسمية السمة ؟؟ $ $ (# a3 ') .attr (' الاسم '،' A2 ') // A3 يصبح A2 $ (' # A4 '). ATM (' الاسم '،' A3 ') // A4 يصبح A3 عودة كاذبة؛})؛})؛

هنا هو HTML:

<form name="myform" id="myform" method="post">
<table>
<tr>
  <td><input type="text" name="a1" id="a1" /></td>
  <td><input type="button" class="deleteMe" name="deleteMe" id="deleteMe" value="a1" /></td>
</tr>
<tr>
  <td><input type="text" name="a2" id="a2" /></td>
  <td><input type="button" class="deleteMe" name="deleteMe" id="deleteMe" value="a2" /></td>
</tr>
<tr>
  <td><input type="text" name="a3" id="a3" /></td>
  <td><input type="button" class="deleteMe" name="deleteMe" id="deleteMe" value="a3" /></td>
<tr>
</tr>
  <td><input type="text" name="a4" id="a4" /></td>
  <td><input type="button" class="deleteMe" name="deleteMe" id="deleteMe" value="a4" /></td>
</tr>
</table>
</form>
هل كانت مفيدة؟

المحلول

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

container = $(this).parent().parent().parent();
// (delete input)
$(container).find("input:text").each(function(index) {
    $(this).attr("name", "a" + index);
});

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

نصائح أخرى

أضف class="renameable" على كل من حقول الإدخال هذه، ثم افعل شيئا مثل هذا:

$(function(){
  $('.deleteMe').click(function(){
    $(this).parent().parent().remove();
    $('#myForm').find('.renameable').each(function(i){
      $(this).attr('name', 'a'+i);
    });
    return false;
  });
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top