2015-02-10 43 views
0

我试图通过添加一个asp:Textbox来编辑jQuery模态消息框。 用户点击Button1后,出现对话框,提示用户输入一个QtyRun(double)。最后他们按Enter键。带文本输入的jQuery模态消息

如何将对话框中的用户输入传递给aspx窗体上的变量或aspx控件(如标签)?

这里是我的脚本和ASPX代码:

<script> $(function() { 
$('#Button1').click(function() { 
    $("#dialog-message").dialog({ 
    modal: true, 
    buttons: { 
    Enter: function() { 
     $('<%= Label1.Text %>').val($('<%= qtyRunText.Text %>').val()); 
       $(this).dialog("close"); 
     }}}); 
    }) 
}); 

<form id="form1" runat="server"> 
    <asp:Button ID="Button1" runat="server" Text="Button" /> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
<div id="dialog-message" title="Roll# Found!" style="display:none"> 
<p> 
Enter QtyRun: <asp:TextBox ID="qtyRunText" runat="server"></asp:TextBox> 
</p> 
</div> 
</form> 

回答

1

的第一个问题就是为什么你需要在服务器控件的值。

但是,这里是你如何能做到这一点:

你需要你的ASP控件的ID:

Enter: function() { 
     $('#<%=Label1.ID%>').val($('#<%=qtyRunText.ID%>').val()); 
       $(this).dialog("close"); 
     }}}); 

如果设置在服务器端的ID属性,此功能将更加友好:

Label1.ID = "asp_mylabel"; 
qtyRunText.ID = "asp_QtyRunText"; 

在JavaScript你可以调用$('#asp_mylabel')$('#asp_QtyRunText')

+0

感谢您的回应。 用户执行一些成功的任务后,系统会提示他们输入一个值。我想我需要在服务器控件中使用这些值,因为我想稍后将它们传递到sql查询中,以便稍后更新表格和gridview。我唯一计划使用jQueryUI的是messagebox。如果你有一个更好的方法建议,我很想知道。谢谢您的回复! – terbubbs 2015-02-10 18:06:28

+0

@terbubbs那么.ID属性就是你需要的。在那里阅读最佳做法。祝你好运。 – celerno 2015-02-10 21:22:11

+0

谢谢@celerno – terbubbs 2015-02-10 21:31:04