当涉及到嵌套元素时,如何使用jQuery操作html表单?
How would I use jQuery to manipulate a html form when there are nested elements involved?
我有一个空表单,需要根据条件动态地填充我称之为迷你表单的内容。例如,这可以是一个询问餐馆名称和位置的表单。现在,根据餐馆的数量(假设是"m"),我想在大表格"m"中添加要求名称和位置的小表格。如何使用jQuery创建这些小表单,这些小表单包含餐厅的名称和位置,并将它们附加到大表单中呢?html看起来像这样。但是我需要根据用户需要的表单数量动态地创建它,以及他是否需要任何表单。
编辑-我已经知道我们不能嵌套表单。我把内部的form元素重命名为div。
<form>
<div id = 1>
Name: <input type = "text" name = "name">
Location: <input type = "text" name ="location>
</div>
<div id = 2>
Name: <input type = "text" name = "name">
Location: <input type = "text" name ="location>
</div>
...
</form>
首先,您需要查找用户输入餐馆数量的输入更改:
$('#noofrestaurants').change(function(){
然后需要循环遍历输入的数字并每次创建新的输入:
var restaurants = $('#noofrestaurants').val();
for (var i = 0; i < restaurants; i++){
$('#miniformcontainer').append('<input type="text" name="rest_name[]"/><input type="text" name="rest_loc[]"/>');
}
});
你可以尝试这样做:
<script>
function addMiniForms(n)
{
for (i=0; i<n ; i++)
{
var $div = $("<div id='" + i + "'></div>");
var $labelName = $("<label for='name" + i + "'>Name</label>");
var $inputName = $("<input type='text' id='name" + i +' />");
var $labelLocation = $("<label for='location" + i + "'>Location</label>");
var $inputLocation = $("<input type='text' id='location" + i +' />");
$div.append($labelName);
$div.append($inputName);
$div.append($labelLocation);
$div.append($inputLocation);
$("#containerid").append($div);
};
};
</script>
我没有测试过这段代码,所以它可能需要一些调整
不能嵌套表单。如果您希望在表单中有重复的输入,请为它们指定数组样式的名称:
<div id = 1>
Name: <input type = "text" name = "name[]">
Location: <input type = "text" name ="location[]">
</div>
后端应该将这些转换为数组。例如,PHP将用包含Name
所有输入的数组来填充$_POST['name']
。
jQuery看起来像:
divnum++;
$("form").append("<div id='"+divnum+"'>Name: <input type='text' name='name[]'">Location: <input type='text' name='location[]'></div>");
相关文章:
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 如何在jquery中使用实时计算求和值
- 在jQuery中使用$('body').html('')意味着什么
- 在Jquery中使用变量作为对象名称
- 如何将while循环中生成的值存储到变量中,以便以后在JQuery中使用
- jquery无法使用无限滚动
- 将FormParams与Jersey和jQuery一起使用
- jQuery UI使用json文件自动完成
- SlideDown()不会'不能在jQuery中使用After()
- 在JQuery中使用谷歌地图Api事件/侦听器
- jQuery字符串使用split()方法在空格后拆分字符串
- 自动完成jquery;t使用ngmodel和ngrepeat(angular)
- 在jquery中使用css获取背景值
- jQuery idTabs-使用鼠标悬停自动更改和淡入淡出
- Javascript:在jQuery中使用xpath
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 在 for 循环 jQuery 中使用 one()
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- jQuery动态使用.append()添加输入,但发布表单不是追加数据
- 存储数据的最佳方式是什么,以便与jquery一起使用