如果选择了特定的单选按钮,我会尝试通过添加类来禁用按钮。这是我的第一次Javascript迭代。
var slug = $("input[name='slug']:checked").val();
$(document).on('change', 'input', function() {
if (slug == "the_lone_snitch") {
$(".button").addClass("disabled")
}
});
所以,每当单选按钮不是" the_lone_snitch时,它就会删除被禁用的类,每次它等于" the_lone_snitch"它增加了课程。
答案 0 :(得分:1)
请注意,要禁用按钮,您要将disabled
属性设置为true
,而不仅仅是添加一个类。总之...
您的代码仅获取在第一行运行时检查的任何单选按钮的值,即更改事件发生之前。您需要在更改处理程序中获取当前值 ,并且需要else
大小写以在不需要时删除该类:
$(document).on('change', 'input', function() {
var slug = $("input[name='slug']:checked").val();
if (slug == "the_lone_snitch") {
$(".button").addClass("disabled").prop("disabled", true);
} else {
$(".button").removeClass("disabled").prop("disabled", false);
}
});
你可以稍微简化它,因为在处理程序中你可以使用this.value
(其中this
是刚刚点击的元素)并使用.toggleClass()
method,它接受一个boolean表示是否添加或删除该类。
$(document).on('change', 'input[name="slug"]', function() {
var disable = this.value == "the_lone_snitch";
$(".button").toggleClass("disabled", disable)
.prop("disabled", disable);
});
.disabled { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<label><input type="radio" name="slug" value="abc">Enabled</label>
<label><input type="radio" name="slug" value="the_lone_snitch">Disabled</label>
<br>
<button class="button">Button</button>
答案 1 :(得分:0)
首先让我知道您的上述代码是否添加了禁用的类。 如是, 然后你错过的是当slug不等于&#34; the_lone_snitch&#34;
时给它一个别的部分您的完整代码应该是
inputs = ((x > 5, x) for x in range(10))
(_, a), (_, b) = groupby(inputs, key=itemgetter(0))
print(list(a))
print(list(b))