在javascript中切换表单输入状态

toggle form input states in javascript

本文关键字:表单 输入 状态 javascript      更新时间:2023-09-26

我知道如何用JavaScript切换(活动/禁用或可见/隐藏)html表单输入字段。

但是,如果有几个输入字段,我想最好使用声明性解决方案。我指的是没有使用长"if…else…"语句的编码方法的解决方案。

简单示例:

如果客户喜欢长跑,他可以进入。如果他启用了这个功能,就会看到另一个输入:"你喜欢的跑步距离是多少?"

我可以编写(并且已经做过很多次)"if…show…",但我不是JS专家。

如何在JS中实现声明性

http://en.wikipedia.org/wiki/Declarative_programming:

在计算机科学中,声明式编程是一种编程范式,是一种构建计算机程序结构和元素的风格,它表达计算的逻辑,而不描述其控制流

我使用这个扩展函数(根据这个答案):

(function($) {
    $.fn.toggleDisabled = function(){
        return this.each(function(){
            this.disabled = !this.disabled;
        });
    };
})(jQuery);

你可以这样做:

$(".long-distance-running-checkbox").change(function(){
  $(".long-distance-running-related").toggleDisabled();
}