asp.net js controlID动态增加

时间:2017-11-14 06:36:15

标签: javascript jquery asp.net textbox

我希望每次单击按钮时都增加ASP controlID。喜欢添加更多电话号码。每次添加新的asp:textbox时,都应创建新的ID。 添加更多div /文本框工作正常,但每个文本框的ID都相同。



function GetDynamicMobileNo(value) {
        return '<div><asp:TextBox ID="txtAddMoreNumber" runat="server" CssClass="form-control" MaxLength="11" Placeholder="Mobile No"></asp:TextBox></div></br>';
    }
  
    function AddMobileNo() {        
        var div = document.createElement('DIV');
        div.innerHTML = GetDynamicMobileNo("");
        document.getElementById("MobileNoContainer").appendChild(div);
      
    }
&#13;
&#13;
&#13;

任何人都可以提供帮助?

1 个答案:

答案 0 :(得分:1)

Id是相同的,因为您正在生成具有相同Id的HTML。

//Here is your problem
function GetDynamicMobileNo(value) {
        return '<div><asp:TextBox ID="txtAddMoreNumber" runat="server" CssClass="form-control" MaxLength="11" Placeholder="Mobile No"></asp:TextBox></div></br>';
    }

    function AddMobileNo() {        
        var div = document.createElement('DIV');
        div.innerHTML = GetDynamicMobileNo("");
        document.getElementById("MobileNoContainer").appendChild(div);

    }

将其更改为此代码

function GetDynamicMobileNo(value, id) {
        return "<div><asp:TextBox ID=\" + id + \" runat=\"server\" CssClass=\"form-control\" MaxLength=\"11\" Placeholder=\"Mobile No\"></asp:TextBox></div></br>";
    }

    function AddMobileNo() {        
        var div = document.createElement('DIV');
        div.innerHTML = GetDynamicMobileNo("", someRandomIdGenerator());
        document.getElementById("MobileNoContainer").appendChild(div);

    }