我使用jquery在asp中创建了动态文本框控件,如下所示
<asp:Button ID="btnAddField" runat="server" Text="Add Field" OnClientClick="createInput(); return false;" />
Jquery函数
function createInput() {
var $input = $('<div class="dragMe" style="position: absolute; padding-top:6px; top:30px; left:100px; zIndex: 5"> <input type="text" class="customText" value="drag me.." style="outline: 0;"/><div style="visibility:hidden"><a class="remove_block" href="#">Remove</a></div></div>');
$input.appendTo($("[id$=pnlCertificate]"));
$(".dragMe").draggable();
$(".dragMe").mouseenter(function () {
$(this).css("background", "#c0c0c0");
$('.dragMe a').css("visibility", "visible");
}).mouseleave(function () {
$(this).css("background", "none");
$('.dragMe a').css("visibility", "hidden");
});
$('.remove_block').on('click', function (events) {
events.preventDefault();
$(this).parents('div').eq(1).remove();
});
$('.dragMe').on('click', function (events) {
getOffset();
});
}
function getOffset() {
var offset = $('.dragMe :input').offset();
events.stopPropagation();
$("[id$=txtBox1]").val(offset.top);
$("[id$=txtBox2]").val(offset.left);
}
我希望动态文本框的偏移值显示在以下文本框
上<asp:TextBox ID="txtBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="txtBox2" runat="server"></asp:TextBox>
答案 0 :(得分:0)
根据您设置的ClientIDMode,这应该完成工作(只需要更改getOffset函数)。它会将文本框控件的客户端ID插入JavaScript。
function getOffset() {
var offset = $('.dragMe :input').offset();
events.stopPropagation();
$("$<%= txtBox1.ClientID %>").val(offset.top);
$("$<%= txtBox2.ClientID %>").val(offset.left);
}