@ron6500

Как задать/изменить data-attribute?

Доброго времени суток

Как задать и изменить дата-атрибут формы? Места, которые не работаю отмечены как TODO в коде.
Что не верно и как должно быть?
Спасибо за ответ!
script.js
$(document).ready(function(){

    $("#add_car").on("click", function(e){
        e.preventDefault();
        var extraForm = document.createElement('DIV');
        $(extraForm).data("is-sent", 0);  //TODO: У каждой новой формы должен появлять дата-ферибут is-sent = 0

        $("[data-is-sent='0']").each(function(){
            var brand = $(this).find(".inpt-brand").val();
            var model = $(this).find(".inpt-model").val();
            var year = $(this).find(".inpt-year").val();
            var vin = $(this).find(".inpt-vin").val()

            var form_itm = $(this).find("form_item")
            $(form_itm).data("is-sent", 1);  // TODO: При обработке отправляймой формы атрибут должен меняться на 1

        ...
        ...
        ...

        $(extraForm).html($("#form_item").html());
        $("#form_list").append("<hr>");
        $("#form_list").append(extraForm);
    });
});

index.html
<form id="car-form" method="post">
        {% csrf_token %}
        <div id="form_list">
            <div class=".form_item" id="form_item" data-is-sent="0">
                <div class="input-line">
                    <label>Brand:</label>
                    <input class="inpt-brand">
                </div>
                <div class="input-line">
                    <label>Model:</label>
                    <input class="inpt-model">
                </div>
                <div class="input-line">
                    <label>Year:</label>
                    <input class="inpt-year">
                </div>
                <div class="input-line">
                    <label>VIN:</label>
                    <input class="inpt-vin">
                </div>
            </div>
        </div>

        <div>
            <button id="add_car">Add Car</button>
        </div>
    </form>

  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
lazalu68
@lazalu68
Salmon
Вы с помощью .data() изменяете не атрибуты, а значения в скрытом объекте.

Пользуйтесь .attr()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы