Jquery обращается к идентификатору добавленного элемента с помощью другого js-скрипта - PullRequest
0 голосов
/ 26 сентября 2011

Я пытаюсь вызвать функцию js для элемента HTML, который я добавил на страницу с помощью JQUERY.

   <body>
        <div id='father'>

        </div>
<input type="submit" value="choice one" onclick='choice_one()'/>    
<input type="submit" value="choice two" onclick='choice_two()'/>    
<input type="submit" value="choice three" onclick='choice_three()'/>    
   </body>

Мой jQuery находится в функции js.

   <script>
         function choice_one(){

         var container = "<div id='field'>
                <form>
              <input type="text" id='choice_one_answer' value="" /> 
              <input type="submit" value="submit" onclick='answer_one()'/>  
                </form>
                         </div>";

         $('ul#field').remove();
         $("div#father").append(container);

        }

         function choice_two(){

         var container = "<div id='field'>
                <form>
              <input type="text" id='choice_two_answer1' value="" />    
              <input type="text" id='choice_two_answer3' value="" />    
              <input type="submit" value="submit" onclick='answer_two()'/>  
                </form>
                         </div>";

         $('ul#field').remove();
         $("div#father").append(container);

        }

   </script>

Итак, третья часть использует ответы, а затем с помощью js перезагружает пыльник. Затем загрузка другой функции -> новое поле ответа.

   <script>
          function answer_one(){

             var answer = document.getElementById('choice_one_answer');

             do something with answer...

           choice_two();

           }

          function answer_two(){

             var answer_one = document.getElementById('choice_two_answer1');

             var answer_two = document.getElementById('choice_two_answer2');


             do something with answer...

          choice_one();

           }

           other functions....

   </script>

Поэтому, когда я пытаюсь вызвать js-функции, например, answer_one () / answer_two (), функция не может получить переменную из входных идентификаторов ---> Я предполагаю, что это потому, что элемент не был загружен при загрузке страницы! 1010 *

Есть ли обходной путь jQuery / js для этого ... есть мысли ??

Есть ли обходной путь для чего-то подобного?

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Я считаю хорошей практикой добавлять html в одну строку, например:

var container = "<div id='field'><form><input type="text" id='choice_one_answer' value="" /><input type="submit" value="submit" onclick='answer_one()'/></form></div>";

У меня нет времени что-либо тестировать, но обходной путь jQuery для доступа к вставленному коду: .live ()

0 голосов
/ 26 сентября 2011

Почему вы используете jQuery, но не используете селектор $() / jQuery() для выбора элемента?

Попробуйте закомментировать строку //$('ul#id').remove() и dupm $('ul#id').size() для консоли, чтобы узнатьчто ваш элемент существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...