2015-04-06 131 views
0

在我的web應用程序中,我有一個選擇框和兩個文本框,它們被分組在div中。 2個文本框中的值將根據使用ajax的選擇框進行填充。現在我的任務是在單擊按鈕時複製整個div。我已經通過使用jquery克隆方法來完成此任務。它的工作正常。但是,當我嘗試在重複的div中選擇一個選項時,選擇發生在父div本身上。不知道哪裏會出錯。誰能幫幫我嗎。此外,我需要在複製div的選擇框中工作ajax調用。 這是我迄今爲止完成的代碼。在javascript中使用克隆複製div

觀點:

<div class="row" id="addparts"> 
<div class="form-group" > 
<div class="col-md-4"> 
<h3>Job Description<span class="required" style="color:red;">*</span></h3> 

<select name="complainttype[]" id="country_list2" class="form-control" onChange="getjobdata(this.value)"> 
<option selected select disabled>Select</option> 
<?php 
foreach($complaints as $com) 
{ 
?> 
<option value="<?php echo $com->id;?>"><?php echo $com->type;?></option> 
<?php 
} 

?> 
</select> 
</div> 

<div class="col-md-4"> 
<h3>Remarks<span class="required" style="color:red;">*</span></h3> 
<input type="text" name="remarks[]" id="remarks" class="form-control"> 
</div> 

<div class="col-md-4"> 
<h3>Work Hours<span class="required" style="color:red;">*</span></h3> 
<input type="text" name="work_hours[]" id="work_hours" class="form-control"> 
</div> 
&nbsp;&nbsp;&nbsp;   
</div> 
</div> 

腳本:

<script> 
jQuery(document).ready(function() {  

var item = $("#addparts"); 
var before = $('#div_button'); 
$('#addMore').on('click', function() { 
var clone = item.clone(true); 
clone.attr('id', ''); 
clone.attr('class', 'duplicate'); 
before.before(clone); 
}); 
}); 

// AJAX功能,填補了文本框

function getjobdata(val) 
{ 
$.ajax({ 
type: "get", 
url: "<?php echo $this->config->base_url(); ?>index.php/test/ajaxgetjobdata", 
data: {id: val}, 
cache:false, 
success: function(data) { 
//alert(data); 
var obj = jQuery.parseJSON(data); 
var remarks=obj.remarks; 
var work_hours=obj.work_hrs; 
//var model=obj.model; 
document.getElementById("remarks").value = remarks; 
document.getElementById("work_hours").value = work_hours; 
}, 
error: function() { 
alert("error"); 
} 

}); 
} 

</script> 

回答

0

請嘗試這樣的, 我已經改變了這一行var item = $("#addparts");var item = $("#country_list2"); jQuery的(文件)。就緒(函數(){

var item = $("#country_list2"); 
var before = $('#div_button'); 
$('#addMore').on('click', function() { 
    alert("test"); 
var clone = item.clone(true); 
clone.attr('id', ''); 
clone.attr('class', 'duplicate'); 
before.before(clone); 
}); 
}); 
</script> 
+0

但我需要duplictae整個DIV,意味着複製DIV應該包含選擇框和文本框都。如果我喜歡你說的話,它只會複製選擇框。 – Aishwaryas 2015-04-06 11:22:54

+0

我無法在代碼中找到addparts div? – 2015-04-06 11:30:48

+0

這是我的錯誤。忘了把那個addparts div。檢查我的編輯 – Aishwaryas 2015-04-06 11:36:00