Как изменить значение ввода текста с помощью js / jquery? - PullRequest
3 голосов
/ 20 мая 2011

Я хотел бы динамически изменять значения определенных элементов формы, в частности, определенных входных текстовых полей.До сих пор всякий раз, когда я загружаю свою HTML-страницу, я просто получаю пустое поле ввода, но я ожидаю, что оно будет содержать значение 1.Вот пример того, как я пытаюсь это сделать.

<!DOCTYPE HTML>
<HTML>
   <HEAD>
      <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
      <script type="text/javascript">
         $(document).ready(function(){
            var myForm = $(this).getElementById('form1');
            myForm.elements['Q01'].value = '1';
         });
      </script>
   </HEAD>
   <BODY>
      <form id="form1">
         <input type="text" name="Q01" maxlength="1" />
      </form>
   </BODY>
</HTML>

Причина, по которой это нужно делать динамически, заключается в том, что значение формы может каждый раз отличаться.Я даже правильно подхожу к этому?Предложения о том, как мне достичь желаемой функциональности?

- РЕДАКТИРОВАТЬ -

Ни одно из решений, похоже, не работает.Вот обновление моего кода:

<!DOCTYPE HTML>
<HTML>
   <HEAD>
      <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
      <script type="text/javascript">
         $(document).ready(function(){
                //$("#Q01").val("1");
                $("#form1 input[name='Q01']").val("1");
                //$("input[name='Q01']").val('1');
         });
      </script>
   </HEAD>
   <BODY>
      <form id="form1">
         <input type="text" id="Q01" name="Q01" maxlength="1" />
      </form>
   </BODY>
</HTML>

Когда я загружаю страницу, я ожидаю, что во входном тексте будет 1.Но входной текст продолжает отображаться пустым.Есть идеи?

- РЕДАКТИРОВАТЬ -

Вот решение, полученное из ответов ниже, которые мне нравятся:

<!DOCTYPE HTML>
    <HTML>
       <HEAD>
          <script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
          <script type="text/javascript">
             $(document).ready(function(){
                    $("#Q01").val("1");
             });
          </script>
       </HEAD>
       <BODY>
          <form id="form1">
             <input type="text" id="Q01" name="Q01" maxlength="1" />
          </form>
       </BODY>
    </HTML>

Ответы [ 4 ]

5 голосов
/ 20 мая 2011

Если вы используете jQuery, вы можете просто изменить атрибут id на name в элементах ввода и затем сделать что-то вроде этого:

$('#Q01').val('1')

Метод valзадает значение, которое можно найти здесь: http://api.jquery.com/val/

3 голосов
/ 20 мая 2011

Вы правильно обработали готовый обработчик.Одна из замечательных особенностей jQuery - это механизм выбора.Я рекомендую взглянуть на документацию , чтобы ознакомиться с ней.

Чтобы делать то, что вы хотите, я бы порекомендовал что-то вроде этого:

$(document).ready(function() {
    $("#form1 input[name='Q01']").val("1");
});

#form1 совпадает с document.getElementById("form1").input[name='Q01'] захватывает все элементы input с атрибутом name, равным Q01.Метод .val устанавливает значение выбранных элементов в строку 1.

0 голосов
/ 20 мая 2011

Это должно работать:

 $("input[name='Q01']").val('1');

Но почему бы не установить идентификаторы для ваших входов?

Надеюсь, что это работает

0 голосов
/ 20 мая 2011
$(document).ready(function(){
   $("form input[name='Q01']).val('1');         
)};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...