简体   繁体   English

用jQuery删除动态元素后如何按名称和ID对元素重新排序?

[英]How to reorder elements by name and id after removing dynamic element with jquery?

I have dynamic element and field on the form. 我在表单上有动态元素和字段。

JS : JS:

<script>
function hapus(i){
    $("#field"+i).remove();
}
</script>

HTML : HTML:

<div class="fieldwrapper" id="field1">
       <select class="fieldtype" id="labensmittel1" name="data[Tagebuch][labensmitell1]" style="width:160px;">
            <option value="data">data</option>
       </select>
       <input type="text" value="" id="qty1" name="data[Tagebuch][qty1]" class="fieldname" />
       <input type="text" value="" id="labendata1" name="data[Tagebuch][labendata1]" class="fieldname" />
       <input type="button" class="hapus1" value="-" style="width:20px;" id="hapus1" onclick="hapus(1);" />
</div>
<div class="fieldwrapper" id="field2">
       <select class="fieldtype" id="labensmittel2" name="data[Tagebuch][labensmitell2]" style="width:160px;">
            <option value="data">data</option>
       </select>
       <input type="text" value="" id="qty2" name="data[Tagebuch][qty2]" class="fieldname" />
       <input type="text" value="" id="labendata2" name="data[Tagebuch][labendata2]" class="fieldname" />
       <input type="button" class="hapus2" value="-" style="width:20px;" id="hapus2" onclick="hapus(1);" />
</div>
<div class="fieldwrapper" id="field3">
       <select class="fieldtype" id="labensmittel3" name="data[Tagebuch][labensmitell3]" style="width:160px;">
            <option value="data">data</option>
       </select>
       <input type="text" value="" id="qty3" name="data[Tagebuch][qty3]" class="fieldname" />
       <input type="text" value="" id="labendata3" name="data[Tagebuch][labendata3]" class="fieldname" />
       <input type="button" class="hapus3" value="-" style="width:20px;" id="hapus3" onclick="hapus(3);" />
</div>

How can I reorder the fields by name? 如何按名称重新排列字段? For example if I remove field2 div id='field3' will be changed into div id='field2' then the select and input field id and name from id="labensmittel3" and name="data[Tagebuch][labensmitell3]" will be moved to id="labensmittel2" and name="data[Tagebuch][labensmitell2]" 例如,如果我删除field2 div id='field3'将更改为div id='field2'然后从id="labensmittel3"name="data[Tagebuch][labensmitell3]"选择和输入字段ID和名称移到id="labensmittel2"name="data[Tagebuch][labensmitell2]"

Thanks 谢谢

How about a basic iteration after the delete happens that resets all of your ids: 删除后重置所有ID的基本迭代如何:

var fields = $('.fieldwrapper');
var count = 1;
$.each(fields, function() {
    $(this).attr('id','field' + count);
    count++;
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM