JQUERY заменить текст на значение data-empty_label - PullRequest
1 голос
/ 01 марта 2020

Я попытался изменить пустое значение по умолчанию "" с дружественными ярлыками, однако мне не удалось выбрать подкатегорию и имя, поскольку данные поступают динамически из django. Категория работает нормально, так как при загрузке страницы есть пустой параметр, но вместо этого подкатегория и имя загружаются в select data-empty_label "----------", и никакие параметры не отображаются.

<div class="form-row">

    <input type="hidden" name="csrfmiddlewaretoken" value="xxxxx">
    <div class="form-group custom-control col-md-3">         
        <select name="category" class="custom-select custom-select-lg" required id="id_category">
            <option value="" selected>---------</option>
            <option value="1">One</option>
            <option value="2">Two</option>
        </select>
    </div>

    <div class="form-group custom-control col-md-3">
        <select name="subcategory" disabled class="custom-select custom-select-lg chained-fk" required id="id_subcategory" data-chainfield="category" data-url="/chaining/filter/xxxxx" data-value="null" data-auto_choose="false" data-empty_label="--------" name="subcategory">
        </select>
    </div>

    <div class="form-group custom-control col-md-3">
        <select name="name" disabled class="custom-select custom-select-lg chained-fk" required id="id_name" data-chainfield="subcategory" data-url="/chaining/filter/xxxxx" data-value="null" data-auto_choose="false" data-empty_label="--------" name="name">
        </select>
    </div>

    <div class="form-group col-md-3">
        <input type="submit" value="Submit" class="btn-lg btn-success btn-block">
    </div>
    </div>

    <script>
        $(document).ready(function() {
        $("select").on("change", function() {
            if($("select[name='category']").val() == "") { 
                $("select[name='category'] > option:first-child").text('Category');
                $("select[name='subcategory']").prop('disabled', 'disabled');
                $("select[name='subcategory'] > option:first-child").text('Subcategory');
                $("select[name='name']").prop('disabled', 'disabled');
                $("select[name='name'] > option:first-child").text('Recipe');
            } else {
                $("select[name='subcategory']").removeAttr("disabled");
                $("select[name='subcategory'] > option:first-child").text('Subcategory');
            }
        }).trigger('change');
            $("select[name='subcategory']").on("change", function() {
                $("select[name='subcategory'] > option:first-child").text('Subcategory');
                if($(this).val() == "") { 
                    $("select[name='name']").prop('disabled', 'disabled');
                    $("select[name='recipename'] > option:first-child").text('Recipe');
                } else {
                    $("select[name='name']").removeAttr("disabled");
                    $("select[name='ename'] > option:first-child").text('Recipe');
                }
            }).trigger('change');
        });
    </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...