Могу ли я вызвать jquery.ajax () с другой функцией?

Я использую плагин 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++;
});
});

Я хочу заполнить данные, извлеченные из базы данных MySQL, используя jQuery .ajax()и мой код выглядит следующим образом:

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’s .ajax() в одной функции это не работает …

0

Решение

попробуйте изменить ваш селектор из:

jQuery('#k'+counter).click(function(){
…

в

jQuery(document).on("change", "select[id^='k']", function(){
...
0

Другие решения

Проблема заключается в привязке события.

Когда вы связываете событие с элементами #k, новый элемент не привязывается к событию автоматически.

Вы можете использовать такие вещи, как:

$('body').on('click','.new_elements',function(){ //dostuff});

Вы можете прочитать больше об этом здесь

Привязка событий к динамически создаваемым элементам?

0

По вопросам рекламы [email protected]