【发布时间】:2009-05-29 01:15:14
【问题描述】:
在这个社区的帮助下,我能够将一段静态文本从 javascript(客户端)传递到 ASP 3.5(服务器端)!这段代码效果很好:
$('.drop').droppable({
tolerance: "touch", // Here should be a string
drop: function() {
$('[id$="myHidden"]').val('Testy test test');
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());
}
});
上面的内容是,当一个 .drop 类的元素被删除时,它会将字符串“Testy test test”分配给我的aspx页面上的隐藏字段。然后它回发到我在更新面板中的一个不可见按钮。隐藏按钮的点击事件触发,它会抛出一个显示隐藏元素内容的消息框,它总是“Testy test test”。
现在我遇到了一些问题。在我放入 dropzone 的任何内容中,我不想将隐藏字段的值设置为静态字符串,而是将其设置为我放入 dropzone 的任何内容的 ID。这是我改变的:
$('[id$="myHidden"]').val($(ui.draggable).attr("id"));
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());
现在突然之间,当我放下一些东西时,它会粘在放置区上,并且不会触发任何放置事件。我是不是弄坏了什么?还是我试图以错误的方式获取已删除元素的 ID?
如果重要的话,这里是相关的 aspx 页面内容:
<asp:Button ID="HiddenButton" runat="server" Text="Button" />
该按钮通常通过 css 隐藏,我只是暂时不隐藏以进行测试。
编辑!!!!:
我也试过了,但它不起作用(所以我可以排除'var'的东西?)
var foo = $(ui.draggable).attr("id")
$('[id$="myHidden"]').val(foo);
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());
【问题讨论】:
标签: asp.net jquery drag-and-drop hidden