【发布时间】:2023-01-03 13:36:12
【问题描述】:
大家好,新年快乐:D。
我目前正在尝试开发一种使用 javascript 和 jquery 从表单中添加和删除输入的方法。
问题是我不熟悉在 jquery 上声明函数,所以我请求你的帮助,因为我目前没有想法。
我目前有这个。
所以想法是在底部有 4 个按钮。两个用于添加或删除百分比“A”的额外输入,另一对用于添加或删除百分比“B”的额外输入。
我试图通过声明四个独立函数(即 addA、removeA、addB、removeB)来以简单的方式做到这一点,但我想在几行中实现这一点。所以这就是为什么我选择将它声明为具有两个输入参数的函数。因为我这样做了,所以代码不再起作用了:(
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="idesc">
<input type='text' id='idesc_1' value='idesc_1'>
</div>
<div id="edesc">
<input type='text' id='edesc_1' value='edesc_1'>
</div>
<input type="hidden" value="1" id="idinpt">
<input type="hidden" value="1" id="edinpt">
<button id="idadd">Add input for data A</button><button id="idrem">Remove input for data A</button>
<button id="edadd">Add input for data B</button><button id="edrem">Remove input for data B</button>
<script type="text/javascript">
function add(inpnum, inpnam){
var act_id = parseInt($('#'+inpnum).val());
if(act_id<5){ //5 input
var new_id = act_id+1;
var new_input = "<input type='text' id='"+inpnam+"_"+new_id+"' value='"+inpnam+"_"+new_id+"'>";
$('#'+inpnam).append(new_input);
$('#'+inpnum).val(new_id);
}
}
function remove(inpnum, inpnam){
var last_id = $('#'+inpnum).val();
if(last_id>1){
$('#'+inpnam+'_'+last_id).remove();
$('#'+inpnum).val(last_id-1);
}
}
$('#edadd').on('click', add('edinpt','edesc'));
$('#edrem').on('click', remove('edinpt','edesc'));
$('#idadd').on('click', add('idinpt','idesc'));
$('#idrem').on('click', remove('idinpt','idesc'));
</script>
</body>
</html>
太感谢了!
【问题讨论】:
标签: javascript html jquery ajax input