2016-11-22 66 views
0

我正在使用克隆生成動態HTML,點擊按鈕, 以下是我的HTML相同。如何在生成動態html時設置Jquery Clone的值

<input id="AddPhoneType" onclick="setEmailValues()" value="Gen Email" type="button"> 

<div style="margin-top: 10px;" class="ExtAddEmailTemplate" id="ExtAddEmailTemplate"> 

<input name="RemoveEmail" class="RemovePhoneBtn" value="-" id="RemoveEmail" type="button"> 
<input type="text" name="txtExtEmail" class="ExtEmailClass" value="" placeholder="Email" /></div> 

<div id="EmailContainer"> </div> 

而且下面是腳本

$(document).ready(function() { 
$('#AddExtEmail').click(function() { 
       $('<div/>', { 
        'class': 'ExtAddEmail', html: GetHtmlForEmail() 
       }).hide().appendTo('#EmailContainer').slideDown('slow'); 
      }); 
    }); 

    function setEmailValues() { 

       $('<div/>', { 
        'class': 'ExtAddEmail', html: GetHtmlForEmail() 
       }).hide().appendTo('#EmailContainer').slideDown('slow'); 
     } 

function GetHtmlForEmail() 
     { 
      var len = $('.ExtAddEmail').length; 

      var emailValue = '[email protected],[email protected]'; 
      var emaiArray = emailValue.split(","); 


      var $html = $('.ExtAddEmailTemplate').clone(); 
      $html.find('[name=txtExtEmail]')[0].name = "txtExtEmail" + len; 


      return $html.html(); 
     } 

現在就按一下按鈕我需要生成2文本框讓與各自的電子郵件ID說讓說:「[email protected]」,「twor @ two.com」

現在我的問題是,我不能夠設置的值,同時產生我已經試過了HTML 以下

$ html.find('[type = text]')[0] .val('[email protected]'); 嘗試使用類,文本等找到,但無法設置值。

我還需要設置下拉列表的值,假設如果我可以設置文本框的值,它也能夠爲下拉列表做。

我能夠HTML後做如何產生

$('#EmailContainer .ExtEmailClass').each(function() { 
     this.value = '[email protected]'; 
    }); 

但我認爲,如果我們能設定值,同時生成HTML是最合適的解決方案。

感謝

回答

1

您可以使用下面的代碼是可以正常使用,

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Tring Reset</title> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
<input id="AddPhoneType" onclick="setEmailValues()" value="Gen Email" type="button"> 
 

 
<div style="margin-top: 10px;" class="ExtAddEmailTemplate" id="ExtAddEmailTemplate"> 
 

 
<input name="RemoveEmail" class="RemovePhoneBtn" value="-" id="RemoveEmail" type="button"> 
 
<input type="text" name="txtExtEmail" class="ExtEmailClass" placeholder="Email" /></div> 
 
<input type="button" id="AddExtEmail" value="+"/> 
 
<div id="EmailContainer"> </div> \t 
 
<script> 
 
$(document).ready(function() { 
 
\t $('#AddExtEmail').click(function() { 
 
\t     $('<div/>', { 
 
\t      'class': 'ExtAddEmail', html: GetHtmlForEmail() 
 
\t     }).hide().appendTo('#EmailContainer').slideDown('slow'); 
 
\t    }); 
 
\t  }); 
 

 
\t  function setEmailValues() { 
 

 
\t    $('<div/>', { 
 
\t      'class': 'ExtAddEmail', html: GetHtmlForEmail() 
 
\t     }).hide().appendTo('#EmailContainer').slideDown('slow'); 
 
\t   } 
 

 
\t function GetHtmlForEmail() 
 
\t   { 
 
\t    var len = $('.ExtAddEmail').length; 
 

 
\t   var emailValue = '[email protected],[email protected]'; 
 
\t    var emaiArray = emailValue.split(","); 
 

 

 
\t    var $tryiy = $('.ExtAddEmailTemplate').clone(); 
 
\t    $tryiy.find('[name=txtExtEmail]')[0].name = "txtExtEmail" + len; 
 
\t    $tryiy.find('[name=txtExtEmail'+len+']').attr("value",emaiArray[0]); 
 

 
\t    return $tryiy.html(); 
 
\t   } 
 
</script> 
 
</body> 
 
</html>

我已使用元素的attr("value",emaiArray[0]);財產使用jQuery的價值,它是工作正常

+0

感謝您的回答,您是否也可以建議選擇dropdrop的解決方案: ),我試圖做,謝謝> $ html.find('[id = <%= ddlPhontType.ClientID%>'+ len +']') –

+0

這部分<%= ddlPhontType.ClientID%>被傳入id屬性? – GraveyardQueen