Как убрать обязательные в скрытых полях. Оно должно оставаться обязательным в видимом поле. При выборе одного из вариантов обязательное поле необходимо удалить. Эта форма создала фреймворк django.

Например, при выборе «tuzel» необходимо удалить обязательное поле из поля adi.

Код JQuery

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("select").change(function(){
        $(this).find("option:selected").each(function(){
            var optionValue = $(this).attr("value");
            if(optionValue){

                $(".col").not("." + optionValue).hide();
                $("." + optionValue).show();
            } else{
                $(".col").hide();

            }
        });
    }).change();
});
</script>

<select name="secenek" class="form-control select2" required id="id_secenek">
  <option value="" selected>---------</option>

  <option value="tuzel">Tüzel</option>

  <option value="gercek">Gerçek</option>
</select>

              <div class="tuzel col col-lg-6">
                <div  id="fnWrapper" class=" parsley-input">
                  <label class="form-control-label">Firma Ünvanı: <span class="tx-danger">*</span></label>
                    <input type="text" name="firma_adi" class="form-control" id="id_firma_adi" maxlength="256" required/>
                </div>
              </div><!-- col-4 -->
              <div class="gercek col col-lg-6">
                <div  id="fnWrapper" class=" parsley-input">
                  <label class="form-control-label">Adı: <span class="tx-danger">*</span></label>
                    <input type="text" name="adi" data-parsley-class-handler="#fnWrappe" class="form-control" required="True" id="id_adi" maxlength="128" required/>
                </div>
              </div><!-- col-4 -->
2
Saadettin Yasir AKEL 13 Мар 2018 в 16:44

2 ответа

Лучший ответ

Я создал скрипку, используя ваш код, который вы можете применить в поле.

См. Это: пример скрипта

Вам нужно добавить еще две строки в JS:

$(document).ready(function(){
    $("select").change(function(){
        $(this).find("option:selected").each(function(){
            var optionValue = $(this).attr("value");
            console.log(optionValue);
            if(optionValue){
                $(".col").not("." + optionValue).hide();
                $("." + optionValue).show();
                                $('input[type="text"]').removeAttr('required');
                                $("." + optionValue + " input").attr('required','true');
            } else{
                $(".col").hide();

            }
        });
    }).change();
});
3
Abdul Rauf 13 Мар 2018 в 14:05
if(optionValue){
    $(".col").not("." + optionValue).hide();
    $(".col").not("." + optionValue).removeAttr('required');​​​​​
    $("." + optionValue).show();
    $("." + optionValue).attr('required', true);
}
1
ccesare 13 Мар 2018 в 14:06