我正在使用jQuery DataTables插件,它有一个事件,点击按钮我们可以在表格中添加新行。
jQuery代码如下:
$(document).ready(function() {
var t = $('#example').DataTable();
var counter = 1;
$('#addRow').on( 'click', function () {
t.row.add( [
counter,
'<select id="k'+counter+'" name="itemname'+counter+'" ><option>-------</option></select>' ,
'<input id="itemrate" name="itemqty'+counter+'" placeholder="Quantity" type="text">',
'<input id="itemrate" name="itemrate'+counter+'" placeholder="Rate" type="text">',
'<input id="totalamt" name="totalamt'+counter+'" placeholder="Total Amount" type="text">'
] ).draw();
counter++;
});
});
我想使用jQuery .ajax()
填充从MySQL数据库获取的数据,我的代码如下:
jQuery(document).ready(function(){
jQuery('#k'+counter).click(function(){
jQuery.ajax({
url: 'getData.php',
type:'POST',
data:'form_data='+val,
success:function(results){
jQuery('#k'+counter).html(results);
}
});
});
});
getdata.php 的代码如下:
<?php
mysql_connect('localhost','root','');
mysql_select_db('eroyalsum');
$sql = "SELECT ITEMCODE,ITEMNAME FROM itemmaster1";
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
echo '<option value="'.$row[0].'" >'.$row[1].'</option>';
}
?>
最后,我的问题是当我把它作为单独的函数编写时,它只能工作一次。当我添加其他行时,它不起作用,当我在一个函数中编写jQuery&#39; .ajax()
时,它不起作用...
答案 0 :(得分:0)
尝试从以下位置更改选择器:
jQuery('#k'+counter).click(function(){
…
到
jQuery(document).on("change", "select[id^='k']", function(){
...
答案 1 :(得分:0)
问题是事件绑定。
当您将事件绑定到#k元素时,新项目不会自动获取绑定到它的事件。
您可以使用以下内容:
$('body').on('click','.new_elements',function(){ //dostuff});
你可以在这里阅读更多相关信息