javascript - Jquery 切换下拉值

标签 javascript jquery

我一直在尝试创建一个 jquery 函数,该函数将为表行中的所有选择转换值。我想出了这个解决方案

$(function () {
    $(".toogle").click(function () {
        if ($(this).hasClass("on") === true) {
            $(this).addClass("off");
            $(this).removeClass("on");
        } else {
            $(this).addClass("on");
            $(this).removeClass("off");
        }

        $(this).each(function () {

            if ($(this).hasClass("on") === true) {
                $(this).closest('tr').find('select').each(function () {
                    $(this).val("1");
                });
            } else {
                $(this).closest('tr').find('select').each(function () {
                    $(this).val("0");
                });
            }

        });
    });
});

您可以在此处查看完整代码:http://jsfiddle.net/7BZNe/

但想知道是否可以以更好的方式完成。

最佳答案

这里有很大的简化空间:

http://jsfiddle.net/zt974/

$(".toogle").click(function () {
    $(this)
        .toggleClass("on off")
        .closest('tr')
        .find('select')
        .val($(this).hasClass("on") ? "1" : "0");
});

关于javascript - Jquery 切换下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22082381/

相关文章:

jquery - 了解 Video.JS 是否使用 HTML5 或 Flash Player

javascript - JQuery .height() 返回 0

jQuery 点击事件在 Chrome 中不起作用

javascript - 将文件转换为字节值数字数组

javascript - 流类型,属性前面的 `+`符号是什么意思?

javascript: 有没有JS可以测试网速?

jquery - 用 span 元素替换复选框

javascript - 清除 Javascript 中的 Var 或回调

javascript - Elasticsearch 6.5亿条记录优化

javascript - 检查一个函数是否在另一个函数被触发时被调用