[英]how to get id of clone in jquery
I clone in jQuery like this. 我像这样在jQuery中克隆。 I want to get particular id when I add new row through clone by which i can get particular id of that add row
我想通过克隆添加新行时获得特定的ID,通过它我可以获取该添加行的特定ID
$("input.tr_clone_add").live('click', function() {
var $tr = $(this).closest('.tr_clone');
var $clone = $tr.clone();
$clone.find(':text').val('');
$clone.find('input[type=checkbox]').attr('checked', false);
$tr.after($clone);
});
html of clone 克隆的html
<table id="table-data" width="100%">
<tr class="tr_clone">
<td>
<select name="group_id[][]" multiple>
<!--<option>Select User</option>-->
<?php
$selectGroup = "SELECT group_id, group_name FROM `group`";
$res = mysql_query($selectGroup);
while($row = mysql_fetch_array($res))
{
if ($row['group_id']==$fetch['group_id'])
{
echo '<option value="'.$row['group_id'].'">'.$row['group_name'].'</option>';
}
else
{
echo '<option value="'.$row['group_id'].'">'.$row['group_name'].'</option>';
}
}
?>
</select>
</td>
<td>
<textarea name="address[]" rows="3" cols="35" placeholder="Enter Address"></textarea>
</td>
<td>
<input type="button" name="add" value="Add" class="tr_clone_add">
</td>
</tr>
</table>
I think this a great place to use templates. 我认为这是使用模板的好地方。 There are a number of JavaScript template engines out there, but you can do a much simpler version depending on your needs.
有许多JavaScript模板引擎,但是您可以根据需要做一个简单得多的版本。 In your case you could do something like this:
在您的情况下,您可以执行以下操作:
<table id="table-data" width="100%"></table>
<script type="text/x-template" id="foo">
<tr class="tr_clone">
<td>
<select name="group_id[][]" multiple>
<option>Select User</option>
<!-- options populated from PHP code -->
<option value="1">One</option>
<option value="2">Two</option>
</select>
</td>
<td>
<textarea name="address[]" rows="3" cols="35" placeholder="Enter Address"></textarea>
</td>
<td>
<input type="button" name="add" value="Add" class="tr_clone_add">
</td>
</tr>
</script>
And JavaScript (assuming jQuery is loaded) 和JavaScript(假设已加载jQuery)
$(function(){
var tableData = $('#table-data'),
templateHTML = $('#foo').html();
function addNewRow() {
var id = 'clone_' + tableData.find('tr').length;
var $clone = $(templateHTML);
$clone.attr('id', id);
$clone.find('textarea').val('This is id: ' + id);
tableData.append($clone);
}
// add binding
$(document).on('click', 'input.tr_clone_add', addNewRow);
// add 1st row
addNewRow();
});
Here's a fiddle of it https://jsfiddle.net/jc6Lybah/1/ 这是一个小提琴https://jsfiddle.net/jc6Lybah/1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.