Сделать один флажок обязательным из четырех флажков в jquery

#jquery #html #checkbox

#jquery #HTML #флажок

Вопрос:

У меня есть четыре флажка, я хочу, чтобы пользователь всегда устанавливал один флажок для отправки формы. Пожалуйста, смотрите Мой флажок html для справки.

 <asp:CheckBox ID="chkCropLoan" runat="server" CssClass="check" onclick="javascript:enableTextBox();" />

<asp:CheckBox ID="chkInvestmentLoan" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
  

Дайте мне знать, смогу ли я сделать это в jquery при событии нажатия кнопки. Также смотрите Мой html-код кнопки

 <asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="button-form" Width="100" OnClick="btnSubmit_Click"  CausesValidation="true"/>
  

Ответ №1:

Да, вы можете добиться этого нажатием кнопки.

код javascript:

 function validateChecked() {
    var cnt = $('.check').is(':checked').length;
    if (cnt > 0) {
        // do something
    } else {
        // do something else
    }
};
  

html-код:

 <div>
    <input type="checkbox" class="clcheck" value="One" />
    <input type="checkbox" class="clcheck" value="Two" />
    <input type="button" value="click me" onclick="validateChecked();" />
</div>
  

Дайте мне знать, если у вас возникнут какие-либо вопросы.

Комментарии:

1. jQuery .is фактически возвращает логическое значение. Вы захотите использовать .filter вместо этого или просто выбрать $('.check:checked') в первую очередь.

2. Спасибо за правильный, я немного поторопился с ответом. простите меня.

Ответ №2:

Используйте приведенный ниже код:

 function enableTextBox(){
 if($(".check:checked").length == 0)
 {
   alert('please check atleast one checkbox');
   return false;
 }
 return true;
}
  

И используйте его как onclick="return javascript:enableTextBox();"

Ответ №3:

Вы можете проверить количество флажков, установленных внутри функции validate_checkbox

 $(function(){
  validate_checkbox = function(){
    if($('.check:checked').length==0)
    {
                // validation failed
      alert('please check atleast one checkbox');
      return false;
    }
    else
    {
      // validation success
      return true;
    }
  }
});
  

ДЕМОНСТРАЦИЯ

Комментарии:

1. то, что ты хочешь сказать, правильно, но у меня уже есть некоторые другие события, вызванные событием нажатия кнопки «btnSubmit_Click» в коде.

2. хорошо, тогда вы можете поместить эту часть if / else в «btnSubmit_Click», которую вы уже используете.

3. можете ли вы описать это, пожалуйста??

4. «У меня уже есть некоторые другие события, вызванные событием нажатия кнопки «btnSubmit_Click» в коде позади.», означает ли это, что у вас уже есть функция «btnSubmit_Click» в вашем коде?

5. да, у меня есть это в коде: protected void btnSubmit_Click(отправитель объекта, EventArgs e) { if (radiobtnIsCustomer. Проверил amp;amp; txt_custId . Текст == строка. Пусто) { div_errorMsg. innerText = «Пожалуйста, введите свой идентификатор клиента.»; return; } }

Ответ №4:

Если вы хотите заставить пользователя установить определенный флажок, это будет сделано <input required type="checkbox" name="chk_mand">

Комментарии:

1. У меня есть элемент управления asp для флажка