Rails jQuery: установите флажки, когда что-то выбрано

0

Я пытаюсь создать скрипт, который работает, когда что-то будет выбран, флажок будет проверен, а некоторые будут отключены. Вот мой код:

<script type="text/javascript">
$(document).ready(function () {

    $('#myselect').change(function(){
        if (!$(this.val() == "0")){
            $('#boss').prop('checked', true);
            $('#manager').attr('disabled', true);
            $('#crew').attr('disabled', true);
        }
    });
})
</script>

<div>
  <%= f.label :company_code, "Company:" %>
  <select id="myselect">
    <option value = "0">Mcdo</option>
    <option value = "5">Burger King</option>
    <option value = "1">KFC</option>
  </select>
</div>

<div>
    Select Role:
</div>
  <br />
  <div>
    <p><%= f.check_box :boss, :id => 'boss' %>Boss</p>
    <p><%= f.check_box :manager, :id => 'manager' %>Manager</p>
    <p><%= f.check_box :crew, :id => 'crew' %>Crew</p>
  </div>
  • 0
    используйте .prop('disabled', true);

2 ответа

1
Лучший ответ

$(document).ready(function() {
  $('#myselect').change(function() {
    //you have an error here in closing the bracket,  also the condition is not proper
    if ($(this).val() != "0") {
      $('#boss').prop('checked', true);
      $('#manager').prop('disabled', true);
      $('#crew').prop('disabled', true);
    }
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="myselect">
  <option value="0">Mcdo</option>
  <option value="5">Burger King</option>
  <option value="1">KFC</option>
</select>
<input type="checkbox" id="boss" />
<input type="checkbox" id="manager" />
<input type="checkbox" id="crew" />

Возможно, вам также придется обрабатывать случай, когда эти входы должны быть включены, может быть

$(document).ready(function() {
  $('#myselect').change(function() {
    var state = $(this).val() == "0";
    if (!state) {
      $('#boss').prop('checked', true);
    }
    $('#manager, #crew').prop('disabled', !state);
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="myselect">
  <option value="0">Mcdo</option>
  <option value="5">Burger King</option>
  <option value="1">KFC</option>
</select>
<input type="checkbox" id="boss" />
<input type="checkbox" id="manager" />
<input type="checkbox" id="crew" />
0

у вас есть синтаксическая ошибка в этой строке, if (!$(this.val() == "0")){ и измените ее на if (!$(this).val() == "0") {.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню