我正在将Bootstrap切换库与Bootstrap4一起使用,但是在尝试控制用户仅将有限数量的元素切换为“ ON”时遇到问题。这是我的HTML代码:
<div style="border:solid border-width: 1px;">
<li class="ui-state-default">
<input type="checkbox" name="checkImg" data-height="10" data-toggle="toggle" data-size="mini"data-onstyle="success" data-offstyle="danger">
Option 1
</li> </div>
所有11个元素具有相同的代码,以及我的Jquery:
$('input[name="checkImg"]').on('change', function (e) {
if ($('input[name="checkImg"]:checked').length > 3 ) {
console.log("In Condition");
$(this).prop('checked', false);
}
});
我可以看到情况是正确的,可以检测到何时将3个元素切换为“ ON”,但是我无法禁用其余的“ False”输入,直到某些“ On”元素切换为“ OFF”为止。有人可以帮忙吗?
此外,我在启动时使用了禁用功能,但没有用。
谢谢大家。
编辑:
答案 0 :(得分:1)
您的脚本中有错误。 尝试更改此内容:
/**
* Reject the call with the specified message. If message is null this call is ignored.
*/
private void rejectCallWithMessage(Context context, String phoneNumber, String textMessage,
int subId, String contactName) {
if (TextUtils.isEmpty(textMessage)) {
Log.w(RespondViaSmsManager.this, "Couldn't send SMS message: empty text message. ");
return;
}
if (!SubscriptionManager.isValidSubscriptionId(subId)) {
Log.w(RespondViaSmsManager.this, "Couldn't send SMS message: Invalid SubId: " +
subId);
return;
}
SmsManager smsManager = SmsManager.getSmsManagerForSubscriptionId(subId);
try {
smsManager.sendTextMessage(phoneNumber, null, textMessage, null /*sentIntent*/,
null /*deliveryIntent*/);
SomeArgs args = SomeArgs.obtain();
args.arg1 = !TextUtils.isEmpty(contactName) ? contactName : phoneNumber;
args.arg2 = context;
mHandler.obtainMessage(MSG_SHOW_SENT_TOAST, args).sendToTarget();
} catch (IllegalArgumentException e) {
Log.w(RespondViaSmsManager.this, "Couldn't send SMS message: " +
e.getMessage());
}
}
对此
oreo
我尝试更正此问题,该脚本现在似乎可以正常工作。
编辑:我看到问题出在Bootstrap-toggle上,它使用另一种方法来检查和取消选中复选框。
不仅要取消选中该复选框,还必须将其父div的类从“ btn-success”更改为“ btn-danger off”。现在,此代码段也应适用于您。
$('input[name=checkImg]')
$('input[name="checkImg"]')