2016-11-22 30 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

相关问题