Задайте несколько значений формы с помощью атрибута данных jQuery


  1. Итак, допустим, у меня есть форма с идентификатором #form, которая имеет два поля ввода, а именно title & price.
  2. я нажимаю на кнопку редактирования где-то в приложении, которое имеет атрибуты данных (например, data-title="Apple" data-price="10"), которые должны быть назначены форме #при нажатии на кнопку.
  3. очевидное решение, которое работает, это $("#name").val($(this).data('name')); $("#price").val($(this).data('price'));
  4. очевидно, что это плохо выглядит, когда у вас слишком много полей. Поэтому я пытаюсь заставить что-то вроде этого работать.$('#form').data($(this).data());, более или менее в одном подобии
  5. испробовали это множество способов, но безуспешно

Любая помощь ценится

1 2

1 ответ:

Можно создать плагин jquery, который можно вызвать из элемента, содержащего точки данных, и заставить его применить данные, основанные на ключе, к элементам в форме с тем же именем. Пример ниже

$.fn.applyData = function(form) {
    $form = $(form);
    $.each($(this).data(), function(i, key) {
        $form.find('#' + i).val(key);
    });
};

JSFiddle: http://jsfiddle.net/LCM8S/43/