2012-01-18 7 views
11

Я пытаюсь использовать jQuery для заполнения формы с некоторыми значениями по умолчанию.Заполните форму с помощью jQuery

Форма содержится в div, который имеет идентификатор. На самом деле каждый элемент имеет id, я сделал это просто, чтобы иметь возможность быстро выбирать каждый фрагмент формы с использованием синтаксиса $("#id").
Вот форма:

<div id="panel" style="position: absolute; left: 190px; top: 300px; width: 400px; height: 300px; border: medium groove brown; background: none repeat scroll 0% 0% black; z-index: 100; color: white;"><form id="form_coord_0"> 
X <input type="text" style="height: 25px; font-size: 10px;" size="2" name="X" id="coordX_0"/> 
Y <input type="text" style="height: 25px; font-size: 10px;" size="2" name="Y" id="coordY_0"/> 
<input type="button" id="edit_0" value="M"/> 
<input type="button" id="remove_0" value="-"/> 
<input type="button" id="add_0" value="+"/> 
<input type="button" id="go_0" value="go!"/> 
<br/> 
</div> 

Мне нужно установить coordX_0 текстовое поле с некоторым значением, скажем: 123.

Я думал, что я мог бы сделать

$("#coordX_0").text.value = 123; 

Но это не похоже на работу. Любой намек?

+0

http://api.jquery.com/val, документация является вашим другом. – Jasper

+0

Спасибо, Джаспер, я довольно новичок в jQuery (ну, даже с js: D), я даже не знал, что существует метод val(). – nick2k3

+0

@ nick2k3 Первое, что я сделал, изучая jQuery, - это пройти через документацию API и увидеть все доступные функции и демонстрации того, как их использовать. Я сделал это, чтобы иметь хотя бы базовое представление о том, что позволит мне сделать это. Например, функция '.val()' может принимать функцию в качестве аргумента, если вы хотите обрабатывать сразу несколько входов формы, вы можете увидеть мой ответ ниже для примера того, как это сделать: http://stackoverflow.com/questions/8914161/fill-in-a-form-with-jquery/8914281 # 8914281 – Jasper

ответ

17

Вы можете использовать функцию val() для установки входных значений

$("#coordX_0").val(123); 

Кстати, ваш исходный код может быть сделан для работы, установив значение свойство на фактическом, базовом элементе dom. Доступ к элементу DOM путем индексации результатов JQuery:

$("#coordX_0")[0].value = 123; 
+0

Большое спасибо! Это решило. Не знаете ли вы, или кто-нибудь, где я могу найти обширную документацию о том, какой метод я могу назвать для таких объектов? (что-то вроде JavaDoc, но для javascript и DOM). – nick2k3

+0

Ну, документы jQuery являются фантастическими - но родной дом docs ?? - не с головы. –

+1

@ nick2k3 Попробуйте документы MDN: https://developer.mozilla.org/en/DOM/HTMLInputElement. Просто найдите Google (или что-то еще) для '[свойства, которое я хочу знать о> MDN', где' [свойство, которое я хочу знать] 'будет что-то вроде' element value'. – Jasper

3

Чтобы установить значение поля ввода его

$("#coordX_0").val(123) 
3
$("#coordX_0").val("123"); 

Вам нужны цитаты я тоже думаю. Хотя это может работать в обоих направлениях.

2

Используйте метод val, чтобы установить текст любого поля input.

$("#coordX_0").val(123); 
3

Попробуйте это вместо того, чтобы, используя val метод:

$("#coordX_0").val('some string or number'); 
1

Используйте вместо этого:

$("#coordX_0").val("123"); 
2

использовать функцию VAL

$("#coordX_0").val("123"); 
2

Просто написать:

$("#coordX_0").val(123); 

В jQuery, text - функция для извлечения текста в dom.

14

Все ответы являются точно такой же, так что я думал, что я отправлю что-то другое:

var inputs_to_values = { 
    'coordX_0' : 'some value', 
    'coordY_0' : 'some other value', 
    'edit_0' : 'N', 
    'remove_0' : '_', 
    'add_0' : '-', 
    'go_0'  : 'stop?' 
}; 
$('#form_coord_0').find('input').val(function (index, value) { 
    return inputs_to_values[this.id]; 
}); 

Вы можете передать .val() функцию, независимо возвращается из функции для каждого элемента будет новое значение:

Функция, возвращающая значение для установки.

этот - текущий элемент.

Получает индексное положение элемента в наборе и значение старого в качестве аргументов.

Источник: http://api.jquery.com/val

Приведенный выше код предполагает, что каждый вход будет иметь свойство в inputs_to_values объекта, так что вы можете преобразовать идентификатор входа в новое значение для этого входа.

Вот демо: http://jsfiddle.net/zYfpE/

+0

Я искал что-то подобное, я был уверен, что в jquery есть собственный метод, но это все равно достаточно компактно. Очень нравится. – AndreaBogazzi

+0

Этот короткий и простой способ расширения - это то, что мне нужно, и думаю, что он отлично отвечает на вопрос. Благодаря! – Yatko

Смежные вопросы