gpt4 book ai didi

jquery - 优雅/简单这个js?

转载 作者:行者123 更新时间:2023-12-01 01:44:33 33 4
gpt4 key购买 nike

我正在使用复选框和输入进行一系列启用/禁用选择,我想知道我是否可以使用循环、变量或复合语句来简单地处理这个js?感觉就像是使用大量代码来实现相对简单的功能。

这是我正在做的事情的一个 fiddle :

http://jsfiddle.net/kirkbross/555f2yan/1/

//check to see if checkboxes are checked and enable / disable accordingly
$(".zone-on-off").each(function() {
if (this.checked) {
$(this).parent("div").siblings("div").children("select").prop("disabled", false);
} else {
$(this).parent("div").siblings("div").children("select").prop("disabled", "disabled");
}
});
// enable / disable selects per on/off checkbox
$(".zone-on-off").click(function() {
if (this.checked) {
$(this).parent("div").siblings("div").children("select").prop("disabled", false);
} else {
$(this).parent("div").siblings("div").children("select").prop("disabled", "disabled");
}
});
// enable selects when name is inputted
$(".zone-name").change(function() {
if (this.val().length) {
$(this).parent("div").siblings("div").children("select").prop("disabled", false);
} else {
$(this).parent("div").siblings("div").children("select").prop("disabled", "disabled");
}
});
// input name on enter
$('.zone-name').keypress(function(e) {
if (e.which == 13) {
$(this).blur();
$(this).parent("div").siblings("div").children("select").prop("disabled", false);
}
});

最佳答案

这是一个尝试,不确定它是否更好,但它有效:

function enable(el){ 
$(el).parents('li').find('select').prop("disabled", false);
}
function disable(el){
$(el).parents('li').find('select').prop("disabled", "disabled");
}
function check(){
var el = typeof arguments[0] == "object" ? arguments[0] : this;
el.checked ? enable(el) : disable(el);
}
function update(e){
e.type=="change" && this.value ? enable(this) : disable(this);
e.type=="click" && check(this);
e.type=="keypress" && e.which == 13 && $(this).blur() && enable(this);
}
$(".zone-on-off").each(check);
$(".zone-on-off").click(update);
$(".zone-name").change(update);
$('.zone-name').keypress(update);

关于jquery - 优雅/简单这个js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30037613/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com