2013-12-18 67 views
0

我在克隆表單的一部分。該部分有一個動態分配的文本字段,當克隆時,我想自動更改以反映它是克隆的部分。如何在克隆時動態更改文本字段的值

腳本分配ID到文本字段

<script> 

$("input[name='SiteVisitCode']").on('change', function(){ 
    var SVCode = document.getElementById('SiteVisitCode'); 
      $('#SampleID').val(SVCode.value +"-W"); 
      $("#QASampleID").val(SVCode.value +"-QC-FB"); 
      $("#Template").val(SVCode.value +"-FDW"); 
</script> 

HTML

 <div> Site Visit Code<input type="text" name="SiteVisitCode" id="SiteVisitCode"> </div> 
    <fieldset> 
    <div id="template"> 
    <div>Sample ID: <input type="text" id="SampleID" name="SampleID"></div> 
     <select id="Analysis" multiple name="Analysis" data-iconpos="left" data-icon="grid"> 
     <OPTION>Analysis (Select all that apply)</OPTION> 
    <option value ="ABF">Anions, Bromide, Fluoride -- None -- Ice</option> 
</select> 
</div><!--template--> 
</fieldset> 
<input type="button" data-theme="b" data-icon="plus" id="FieldDup" value="ADD FIELD DUP"> 
    <div id="placeholder"></div> 

克隆腳本

<script> 
    $(function() { 
    $('#FieldDup').on("click", function() { 
    $('#template').clone(true).prependTo('#placeholder'); 
    }); 
    }) 

</script> 

我期待改變了指定sampleID和應用由$("#Template").val(SVCode.value +"-FDW")確定的分配值克隆到SampleID

+1

有了這個,你正在複製id,而是給你的輸入分配一個classname。 – PSL

+0

我在哪裏分配課程? – pja

回答

0

是的,問題是您正在複製該ID並嘗試再次將其定位。但問題在於,您無法定位ID,因爲它現在在頁面上使用了兩次,這會導致綁定.val()失敗。

我相信一個語法,我對這項工作是:

$('#template').clone(function() { 
    $(this).val(SVCode.value +"-FDW") 
}).prependTo('#placeholder'); 

這將瞄準特定#template並將其值設置。

+0

它沒有工作,但我覺得我越來越近 - 謝謝! – pja