Заполните скрытые формы ввода на клике - PullRequest
1 голос
/ 12 января 2012

У меня есть список адресов и других значений, которые я сгенерировал, и я включил ссылку рядом с каждой строкой (см. Изображение ниже): enter image description here

Мне нужно иметь возможность щелкнуть ссылку «запланировать эту очистку» рядом со строкой, и она должна отправить эту конкретную информацию в некоторые скрытые поля ввода вниз по странице, и все это без перезагрузки страницы. Мне нужно заполнить несколько входов различными данными, используя одно событие onClick.

Я уже использую jQuery, поэтому приветствуются любые решения для jQuery.

Любая помощь будет принята с благодарностью. Спасибо!

Ответы [ 4 ]

6 голосов
/ 12 января 2012

прямо вперед даже без JQuery:

<input ... onclick="return myFunction();"> 

function myFunction(){
  document.getElementById("myHiddenInput").value = "some value that i want to have";
 return true; //if you want to proceed with the submission or whatever your button does, otherwise return false
}
1 голос
/ 12 января 2012

Из того, что я получил от вашего вопроса, вы просто запрашиваете document.getElementById("target-input").value="desired value";, или вы ищете что-то еще?

0 голосов
/ 12 января 2012

Предположим, "Расписание этой очистки" равно

<a class="cleaning" data-cleaning-type="regular">Schedule this cleaning</a>
<a class="cleaning" data-cleaning-type="vacancy">Schedule this cleaning</a>
...

и далее вниз по странице у вас есть

<input type="hidden" class="cleaning-schedule current" />

<input type="hidden" class="cleaning-schedule regular" />
<input type="hidden" class="cleaning-schedule vacancy" />
...

<input type="hidden" class="cleaning-schedule-other regular" />
<input type="hidden" class="cleaning-schedule-other vacancy" />
...

Тогда будет работать следующий код

$("a.cleaning").click(function() {
    var $this = $(this);

    //the current cleaning type
    var cleaningType = $this.data("cleaningType");

    //set the cleaning schedule
    $("input.cleaning-schedule.current").val(cleaningType);

    //set other type specific information
    $("input.cleaning-schedule." + cleaningType)).val([whatever data you want]);
    $("input.cleaning-schedule-other." + cleaningType).val([whatever data you want]);
    return false; // edited
});

Я бы, вероятно, поместил дополнительные специфические данные в атрибуты данных в ссылке.


Я отредактировал это, чтобы отразить более широкий набор случаев. Также обратитесь к функция данных jQuery .

0 голосов
/ 12 января 2012

Предполагая следующее

ID for Schedule this cleaning = scheduleCleaning
ID for Regular Cleaning Address = regCleaning
ID for Vacancy Cleaning Address = vacCleaning
ID for Deep Cleaning Address = deepCleaning
ID for hidden will be same as above with _hid

Вы можете использовать следующее

$('#scheduleCleaning').click(function() {
    $('#regCleaning_hid').val($('#regCleaning').val());
    $('#vacCleaning_hid').val($('#vacCleaning').val());
    $('#deepCleaning_hid').val($('#deepCleaning').val());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...