2015-02-26 2 views
0

Я динамически генерирую таблицу строк (кнопок) с помощью JS-Ajax.when я анализирую числовое значение removeProduct функция возвращает предупреждение. но я не могу получить предупреждение, если я разбираю строку. может кто-нибудь помочь мне решить эту проблемуНевозможно разбить строку с помощью функции JavaScript

проблема заключается в этой строке: onclick='removeProduct(" + prcode + ")'

как разобрать строку с помощью функции? (Как JavaScript строки)

var single = alldata[i].split("##"); 
      var rows = ""; 

      var prcode = single[1]; 

      rows += "<td><a class='btn' onclick='removeProduct(" + prcode + ")' href='#'><i class='fa fa-trash-o'></i></a></td></tr>"; 
      $(rows).appendTo("#tblproductslist tbody"); 

Функция:

function removeProduct(str) { 
    alert(str); 
} 

Заранее спасибо!

ответ

2

Потому что вы пытаетесь передать строку литерала, поэтому постарайтесь заключите значение в ""

onclick='removeProduct(\"" + prcode + "\")' 

Поскольку вы работаете с JQuery, я бы порекомендовал вам использовать делегирование событий для обработки события и data-api для хранения данных.

+0

спасибо, сэр, это сработало! :) – Dzshean

1

Вам нужно это:

rows += "<td><a class='btn' onclick='removeProduct(\"" + prcode + "\")' href='#'><i class='fa fa-trash-o'></i></a></td></tr>"; 

Если «prcode» является строкой, вы должны процитировать его или он будет рассматриваться как (неопределенную) переменной и вызовет ошибку.

Удачи вам!

+1

спасибо, сэр, я понял :) – Dzshean

Смежные вопросы