我需要動態添加新行,每次點擊添加button.i試圖做下面的。我使用php codeigniter和jquery.i'm新jquery和我掙扎關於如何在jquery中追加新行。但是這個jquery函數不能正常工作。請幫我解決這個問題。jquery dynamicaly添加新行
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p table class="datatable <tr><td width="200">').size() + 1;
$('#addNew').live('click', function() {
alert('ok');
alert(i);
$('<p>
<label for="trainer">Trainer: </label>
<td><select name="state_' + i +'"">
<option></option>
</select>
<select>
<option></option>
</select></td></tr></table>
<a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;
return false;
});
$('#remNew').live('click', function() {
if(i > 2) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
</script>
echo '<div id="addinput">';
echo '<p>';
echo '<table class="datatable">';
echo '<tr><td width="200">'.form_label('Trainer: ', 'trainer').'</td>';
$options4 = array(
0 => 'Select state',
1 => 'QLD',
2 => 'NSW',
3 => 'VIC',
4 => 'WA',
5 => 'ACT',
6 => 'NT',
7 => 'SA',
8 => 'TAS'
);
$options5[0] = 'Select below';
foreach ($trainers as $row) {
$name = $row->first_name.' '.$row->last_name;
$options5[$row->id] = $name;
}
echo '<td>'.form_dropdown('state', $options4, '', 'class="update_state" id="state"').' '.form_dropdown('trainers[]', $options5, 0).'<a href="#" id="addNew">Add</a></td></tr>';
echo '</table>';
echo '</p';
echo '</div>';
這是一些非常** **亂碼豬頭...嘗試爲HTML代碼來添加該塊,把它變成像'變種變量htmlcode =「yourcode」;'然後調用'$(addDiv).append(htmlcode);'來添加它。刪除'return false'並將其替換爲'e.preventDefault();' - 這只是爲了讓你開始!同樣,你定義'i'的行沒有任何意義,也不會運行。嘗試'var i = $(addDiv +'td')。length()+ 1;' –