я получил такую функцию:JavaScript/Jquery - Копировать строку таблицы внутри обработчика
function isRowEmpty(){
var emptyRow = true;
var tableRow;
$('#ProblemsGrid').delegate('td a', 'click', function() {
tableRow = $(this).closest ('tr');
});
tableRow.find('textarea').each(function(index, element){
var value = $(element).val();
if(value != "") {emptyRow = false;}
});
return emptyRow;
}
То, что я пытаюсь сделать, это получить строку таблицы, которая имеет, что была нажата и проверить из эту строку, чтобы увидеть, если она пуста, а затем верните true/false. Я думаю, что проблема, с которой я столкнулась, имеет какое-то отношение к закрытию javascript. Var tableRow не изменяется во внешней функции. Я пытался разобраться в обходном пути, но не повезло. Я относительно новичок в JavaScript и JQuery.
Обновление: Вот как используется isRowEmpty().
function deleteRow(){
if (isRowEmpty()===true){
$('#ProblemsGrid').delegate('td a', 'click', function() {
$(this).closest ('tr').remove();
});
}
}
Вот часть моей HTML:
<tr>
<td><textarea name='text' style='width: 98%; height:40px'>....</textarea></td>
<td><a href='#anchor' name='DeleteButton' onclick='deleteRow();'>
<img src='../images/delete.gif'></img> </a>
</td>
</tr>
Можете ли вы показать, как вы используете 'isRowEmpty()'? и ваш HTML – Satpal
Вы заполняете переменные внутри обработчика и обратный вызов, который выполняется асинхронно. Но вы обрабатываете свой 'isRowEmpty', как если бы он выполнялся синхронно. Вам нужно предоставить дополнительную информацию о том, что вы хотели бы сделать. –
Я только что обновил свой вопрос, как используется isRowEmpty и связанный с ним HTML. Благодаря! – manutd500