动态文本框生成,带有按钮以生成文本框的子子集
本文关键字:文本 子集 动态 按钮 | 更新日期: 2023-09-27 17:50:42
我正在MVC中工作,并试图使用jquery来执行以下操作,如果有更简单的方法,我会很高兴听到它…
我希望有我的形式创建动态输入产生的东西,例如,可能看起来像这样:*我不知道有多少子猫的他们要进入也没有多少主要类别。
category0 <btnInsertSubCat0>
subcat0.0
subcat0.1
subcat0.2
category1 <btnInsertSubCat1>
subcat1.0
subcat1.1
<btbInsertNewCat>
我可以生成一个按钮,一个接一个地附加文本框,以及旁边的按钮,但即使我使用。live属性,我也无法获得子按钮。修改了很多代码,看了很多不同的教程都无济于事,这是不是很容易做到?
jQuery(document).ready(function () {
var procID = 0;
var orgID = 0;
$('.clickme').live('click', function () {
var newItem = $("<input type='text' name='Procedure[" + procID + "]' value='Procedure[" + procID + "] />");
var newLabel = $("<br /><label id='Label[" + procID + "]' >ProcedureID: [" + procID + "]</label>");
var newDiv = $("<div class='objective'><b>Insert Objective</b>[" + procID + "." + orgID + "]</div>");
$("#procedureHolder").append(newLabel);
$("#procedureHolder").append(newItem);
$("#procedureHolder").append(newDiv);
procID++;
});
$('.objective').live('click', function () {
var newObj = $("<input type='text' id='Objective[" + (procID - 1) + "." + orgID + "]' >ObjectiveID: [" + (procID - 1) + "." + orgID + "]</label>");
$("#procedureHolder").append(newObj);
orgID++;
});
});
我编辑了我的帖子,
我自己想出了如何利用jquery创建无限数量的子动态文本框。它们也都返回到表单集合中。我弄明白了为什么目标没有显示出来,结果我宣布了ID rather than Name
。
谢谢!
我使用以下方法使用ASP进行动态搜索屏幕。净MVC。搜索选项在映射到产品的数据库中进行管理。这使得营销团队可以在网站的管理部分调整搜索结果和搜索选项。基本方法如下:
public class FormFieldCollection : List<FormField>
{
public string FormFieldType { get; set; }
}
public class FormField
{
public string Name {get;set;}
public string Type {get;set;}
public string Value {get;set;}
public bool IsChecked {get;set;}
}
public class FormFieldModel
{
public FormFieldCollection PaymentOptions { get; set; }
}
在自定义Helper或使用foreach生成的视图中。在你的控制器动作中输入:
public ActionResult SomeActionMethod(FormCollection formCollection)
{
//search through the results, map back to class or loop through key value pairs.
}
View Code,显然包括一些漂亮的html标记来格式化表单。
@Model FormFieldCollection
@{
View.Title = "Form";
Layout = "~/Views/Shared/_defaultMaster.cshtml";
}
@foreach(var formField in Model){
<input type="@formField.Type" id="@formField.Name" name="@formField.Name" value=""@formField.Value"" />
}
@using (Html.BeginForm("SomeActionMethodAdd", "ControllerName", FormMethod.Post))
{
//Submit form to
Field Name: <input type="text" value="" /> * must be unique
<input type="submit" value="Submit" />
}
语法可能不完美,只是内存不够用。