为每个滴创建隐藏字段元素
Create hidden field element for each drop
我知道这是一个与我上一个类似的问题,但它略有不同。
我有这个脚本将每个"删除"元素添加到列表中。现在我需要将其添加到变量/隐藏字段中,以便我可以通过表单将其传递到下一页。
当我此刻运行它时。但是,它针对每个项目发出警报,它不仅对掉落的每个项目都发出警报,而且如果有 10 个项目掉落,它将为每个丢弃的项目运行 10 次,而不是每个丢弃的项目运行一次。
任何帮助都会很棒。
//Record and add dropped items to list
var txt = $("#listbox");
var dtstart = copiedEventObject.start + ''n'
var caltitle = copiedEventObject.title
var txt = $('#listbox');
txt.append("<li class ='listItem'> "+dtstart +"</li>")
var listItems = $('.listItem');
$('#calendarform').submit(function() {
listItems.each(function(){ //For each event do this:
alert( listItems.text() );
});
return false;
});
// remove the element from the "Draggable Events" list
$(this).remove();
问题出在这个代码上
listItems.each(function(){ //For each event do this:
alert( listItems.text() );
});
您正在提醒每个列表项的所有列表项的文本。
使用 jQuery(this) 访问每个块中的当前项
listItems.each(function(){ //For each event do this:
alert( $(this).text() );
});
假设您的代码位于 drop 事件处理程序中,则每次删除时也会添加一个提交处理程序。 这意味着每次丢弃时,都会将另一个提交事件排队。 这可能不是希望的。 将此 submit(function(){}) 块移到放置处理程序之外,以防止它多次触发该函数。
$('#calendarform').submit(function(e) {
var listItems = $('.listItem');
listItems.each(function(){ //For each event do this:
alert( listItems.text() );
});
e.preventDefault();//stop normal behavior
return false;
});
要动态创建元素,您只需将 jQuery 传递给 html,并将其append
到您的表单中。
$('<input type="hidden" name="listItem[]"/>').appendTo("#calendarForm").val(listItem.text())
您可能需要摆弄 name 元素才能让它以服务器端语言作为数组提交,但您也处于 each
循环中,它为您提供了一个索引,因此您可以执行以下操作。
$('#calendarform').submit(function(e) {
var form = $(this);
var listItems = $('.listItem');
listItems.each(function(index){ //For each event do this:
var listItem = $(this);
$("<input type='hidden'/>").val(listItem.text()).appendTo(form).attr('name', 'listItem[' + index + ']');
});
e.preventDefault();//stop normal behavior
return false;
});
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 添加和删除隐藏字段数组中的值,而不提交表单
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 将选项值附加到隐藏字段
- JQuery获取隐藏字段的值
- MVC+访问控制器中的隐藏字段
- ASP.net Javascript函数中的隐藏字段为null
- 在第一页加载时隐藏字段,而不是在php发布之后
- 表单使用js、html,而不是隐藏字段
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 在选择更改时显示大于/小于的隐藏字段集
- 如何获取多个复选框值并分配给隐藏字段
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- 将布尔值存储在隐藏字段中以进行表单处理
- 如何将多个/不同的隐藏字段插入 XML
- 如何通过 JSP 代码将隐藏字段(Javascript)插入 XML
- 如何使用Java在Selenium WebDriver的隐藏字段中键入一些文本