#javascript #jquery #jquery-selectors
#javascript #jquery #jquery-селекторы
Вопрос:
Я читал похожие сообщения по этому вопросу, но в настоящее время не работает. Мой немного отличается.
Я вызываю функцию javascript addFormField, которая создает динамический элемент ввода внутри формы. Эта часть работает нормально. В рамках этой функции я вызываю функцию jQuery loadData (id), чтобы проверить, существует ли идентификатор динамически создаваемого элемента, но это не так. Правильно ли вызывается loadData для ожидания $ создания идентификатора входного элемента, прежде чем проверять, создан ли он? Спасибо!
function addFormField() {
var id = document.getElementById("id").value;
$("#divTxt").append("<p id='row" id "'><label for='txt" id "'>Field " id "amp;nbsp;amp;nbsp;<input type='text' size='20' id='txt" id "'><p>");
$(function () {
loadData(id);
});
id = (id - 1) 2;
document.getElementById("id").value = id;
}
function loadData(id) {
if ( $('#txt' id).length ){
alert('success');
}
else {
alert ('fail');
}
}
<html>
<p><a href="#" onClick="addFormField(); return false;">Add</a></p>
<form method="get" id="form1" action='#'>
<input type="hidden" id="id" value="1">
<div id="divTxt"></div>
</html>
Ответ №1:
У меня ваш код работает нормально: http://jsfiddle.net/6t8eX /
Просто убедитесь, что addFormField()
метод является глобальным. Если это не так, встроенная onClick
система не сможет ее найти.
Если она обернута в $(function () { })
(или в любое другое тело функции), она не будет глобальной.