技术上粘贴的代码在我编写的jquery代码点击时起作用的意义上起作用。 (不是js / jquery人)
这是一个小伙伴:http://jsfiddle.net/t2t1mxqd/
然而,问题是这是paypal的东西,如果你注意到每个输入(隐藏和隐藏)都有编号。
var button = document.getElementById("button1");
var i;
var max = Number.MAX_VALUE;
//The loop
for(i = 0; i < max; i++) {
button.textContent = i;
}
button.style.backgroundColor = "red";
比如以第一个为例:它在隐藏的一个中有 <div class="removal">
<input type="hidden" name="item_name_1" value="Program 1">Program 1
<input class="removal" type="text" name="amount_1" value="10.00">
<button type="button">Remove</button>
</div>
,而在非隐藏的一行中有item_name_1
。
如果从底部向上移除它就不成问题,即数字从上到下按顺序编号。
如果他们被随机删除或自上而下删除,则会出现问题。
然后这些数字显然不是从amount_1
等开始的
如何重写代码,当一个人选择说,删除程序5时,item_name_1
和item_name_n
的其余属性会被顺序重写,或者仍然起作用?
有什么建议吗?
谢谢。
name_n
答案 0 :(得分:2)
这将使input
名称保持顺序,而不会影响其他任何内容,我认为这是您的目标:
$('.removal button').click(function() {
$(this).parent().remove();
$('.removal [type="hidden"]').each(function(idx) {
$(this).attr('name', 'item_name_'+(idx+1));
});
$('.removal [type="text"]').each(function(idx) {
$(this).attr('name', 'amount_'+(idx+1));
});
});
您还可以通过删除此代码来清理您的代码:
<br /><br />
...并在removal
类中添加下边距:
.removal {
margin-bottom: 1em;
}
这样,当你删除行时,你不会以空格结束。
答案 1 :(得分:0)
有关这方面的内容,但没有经过测试。概念是可用的。
$(document).ready(function() {
$(".removal").click(function() {
$(this).remove();
for(var i =0;i<$(".remove").length;i++)
{
var $inputs = $(this).children("input");
$inputs.each(function(){
var thisType = $(this).attr("type");
switch(thisType){
case "text":
$(this).attr("name", "name_" + i);
$(this).val(i + ".00");
break;
case "hidden":
$(this).attr("name", "item_name_" + i);
$(this).val("Program " + i);
break;
}
});
}
});
});