2012-01-12 5 views
1

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

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

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

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

ответ

6

его прямо вперед, даже без 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 
} 
+0

Как я могу использовать это, чтобы заполнить несколько скрытых входов, каждый с разными данными, используя только одно событие click? – Jeremy

+0

Я понял, и закончил использовать следующее: 'function ElementContent (id, content) { document.getElementById (id) .value = content; } ' По какой-то причине, SetValue() не работает для меня, так что я просто использовал значение = – Jeremy

+0

вы правильно SetValue от другого API :) Также просто FYI, ИС называющие стандарты требуют functionNames к быть верблюжьим футляром, начинающимся с буквы нижнего регистра. – dbrin

0

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

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()); 
} 
1

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

+0

Это было прекрасно, спасибо. – Jeremy

0

Пусть "Расписание эта очистка" является

<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's data function.