вызов функции jquery из javascript не работает

#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 () { }) (или в любое другое тело функции), она не будет глобальной.