我一直想找几个小时的解决方案。
asp:文本框1:
<asp:TextBox runat="server" ID="code" placeholder="<%$ Resources:ErrorMessages, EnterCode %>" CssClass="enterCode"></asp:TextBox><br />
asp:textbox 2:
<asp:TextBox runat="server" ID="code2" placeholder="<%$ Resources:ErrorMessages, EnterCode %>" CssClass="enterCode"></asp:TextBox><br />
按钮:
<asp:Button CssClass="btn btn-primary" runat="server" ID="buttonEnable2" OnClick="buttonEnable_Click" Text="<%$ Resources:UserMessages, Enable %>" />
我正在尝试将文本框2中的文本复制到文本框1中。
textbox 2嵌入在引导程序弹出窗口中的jquery手风琴中。
我试过了:
aspx.cs中的简单:
code.text = code2.text;
链接到aspx文件的javascript文件中的一些jquery:
$("#buttonEnable2").click(function () {
$('#code').val($('#code2').val());
alert('test');
});
上面的代码似乎根本不起作用,它甚至没有给我提醒。
答案 0 :(得分:1)
问题是你在弹出窗口中使用手风琴来克隆弹出窗口内的所有内容,处理所有内容的ID。因此,当您在文本框中键入值时,它会将其附加到文本框的克隆,而不是实际的文本框。
这是解决方案:
function clickEnable2() {
var txtBox1 = this.parentElement.getElementsByClassName("enterCode")[0].value;
$("#MainContent_code").val(txtBox1);
$("#MainContent_buttonEnable").click();
}
$("#MainContent_buttonEnable2").click(clickEnable2);
答案 1 :(得分:0)
此代码在javascript中
<script>
function Copy() {
var n1 = document.getElementById('code');
var n2 = document.getElementById('code2');
n2.value = n1.value;
}
</script>
,您的按钮应该像
<asp:Button CssClass="btn btn-primary" runat="server" ID="buttonEnable2" OnClientClick="Copy()" OnClick="buttonEnable_Click" Text="<%$ Resources:UserMessages, Enable %>" />
希望它会有所帮助。
答案 2 :(得分:0)
您的文本框属于asp.net
,相对于ID
更改ContentPlaceHolder
个文本框。所以jquery无法找到文本框。
您可以使用ClientIDMode="Static"
,以便文本框的ID不会更改。将此属性也放在其他文本框中。
<asp:TextBox runat="server" ID="code" ClientIDMode="Static" placeholder="<%$ Resources:ErrorMessages, EnterCode %>" CssClass="enterCode"></asp:TextBox>
然后使用jquery将文本从一个文本框复制到另一个文本框。
$('#code').val($('#code2').val());
答案 3 :(得分:0)
如果您在asp.net中使用母版页,更新面板等,文本框的ID将自动替换为动态ID,因此您可能需要执行以下操作,这将有助于 如果您不想将ClientIDMode更改为静态
首先声明一个javascript变量并为其分配文本框的动态ID,JQuery将为此
$(document).ready(function(){
var txtBox1 = <%=code.ClientId%>;
var txtBox2 = <%=code2.ClientId%>;
});
现在,您可以使用这两个变量将文本复制到另一个
$("#buttonEnable2").click(function () {
$('#' + txtBox1).val($('#' + txtBox2).val());
});
您还可以通过以下方式使用document.getElementById。
var n1 = document.getElementById(<%=code.ClientId%>);
var n2 = document.getElementById(<%=code2.ClientId%>);
我希望这会对你有所帮助。