Как отключить класс внутри кнопки ввода (радио) в Jquery - PullRequest
0 голосов
/ 02 марта 2019

Мне нужно отключить переключатель «Значение KG», используя qusweitstnesel имя класса.Вот мой код

HTML

<li id="field_1_48" class="gfield qusweitstnesel gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" style="display: list-item;">
<label class="gfield_label">Weight<span class="gfield_required">*</span></label>
<div class="ginput_container ginput_container_radio">
<ul class="gfield_radio" id="input_1_48">
<li class="gchoice_1_48_0">
<input name="input_48" value="KG" id="choice_1_48_0" tabindex="13" disabled="disabled" class="gf-default-disabled" type="radio">
<label for="choice_1_48_0" id="label_1_48_0">KG</label>
</li>
<li class="gchoice_1_48_1">
<input name="input_48" value="Stone" checked="checked" id="choice_1_48_1" tabindex="14" type="radio">
<label for="choice_1_48_1" id="label_1_48_1">Stone</label>
</li>
</ul>
</div>
</li>

JQuery:

var kgs="KG";
jQuery(".qusweitnotsel .ginput_container_radio .gfield_radio li input[type=radio][value='+ kgs +']").attr("disabled","disabled"); 

1 Ответ

0 голосов
/ 02 марта 2019

Вы должны использовать двойные кавычки внутри одинарных кавычек в [value='"+ kgs +"'].

Обратите внимание: Вы уже отключили свойство, установленное для переключателя в HTML.У вас также есть опечатка в имени класса, используемая в коде как qusweitnotsel .... должно быть qusweitstnesel

var kgs="KG";
jQuery(".qusweitstnesel .ginput_container_radio .gfield_radio li input[type=radio][value='"+ kgs +"']").attr("disabled","disabled");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<li id="field_1_48" class="gfield qusweitstnesel gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" style="display: list-item;">
  <label class="gfield_label">Weight<span class="gfield_required">*</span></label>
  <div class="ginput_container ginput_container_radio">
    <ul class="gfield_radio" id="input_1_48">
      <li class="gchoice_1_48_0">
        <input name="input_48" value="KG" id="choice_1_48_0" tabindex="13" class="gf-default-disabled" type="radio">
        <label for="choice_1_48_0" id="label_1_48_0">KG</label>
      </li>
      <li class="gchoice_1_48_1">
        <input name="input_48" value="Stone" checked="checked" id="choice_1_48_1" tabindex="14" type="radio">
        <label for="choice_1_48_1" id="label_1_48_1">Stone</label>
        </li>
    </ul>
  </div>
</li>

Вы также можете использовать Шаблонные литералы , которые позволяют встроенные выражения:

var kgs="KG";
jQuery(`.qusweitstnesel .ginput_container_radio .gfield_radio li input[type=radio][value=${kgs}]`).attr("disabled","disabled");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<li id="field_1_48" class="gfield qusweitstnesel gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" style="display: list-item;">
  <label class="gfield_label">Weight<span class="gfield_required">*</span></label>
  <div class="ginput_container ginput_container_radio">
    <ul class="gfield_radio" id="input_1_48">
      <li class="gchoice_1_48_0">
        <input name="input_48" value="KG" id="choice_1_48_0" tabindex="13" class="gf-default-disabled" type="radio">
        <label for="choice_1_48_0" id="label_1_48_0">KG</label>
      </li>
      <li class="gchoice_1_48_1">
        <input name="input_48" value="Stone" checked="checked" id="choice_1_48_1" tabindex="14" type="radio">
        <label for="choice_1_48_1" id="label_1_48_1">Stone</label>
        </li>
    </ul>
  </div>
</li>
...