【问题标题】:Add/Remove form field depending on radio select value根据单选选择值添加/删除表单字段
【发布时间】:2013-09-09 21:28:03
【问题描述】:

我目前正在构建一个医疗表格,我想让它更有活力。因此,第一个字段之一是一个收音机,用于指示患者是男性还是女性,我希望当您选择其中一个时,与其他类型相关的字段消失。

我尝试过这样的事情:

<script type="text/javascript">
$(document).ready(function(){
    $('#Sex').change(function(){
            if($(this).val() == "Male"){
                $('#FemaleRelatedField').remove();
            }
    });
});
</script>

其中#Sex 是无线电类型字段(男性/女性),#FemaleRelatedField 是我们在与男性患者打交道时不需要回答的任何给定字段。

但它似乎根本不起作用。

提前感谢您的所有回答。

【问题讨论】:

  • 试试 $(this) 而不是 (this)
  • 代码上的小错字,你忘了把它声明为jquery变量,把它改成$(this).val()
  • 几个人有相同的答案 :) 如果您是 jQuery 新手,请提供更多信息,$(this) 返回一个响应 .val() 方法的 jQuery 对象。没有$()this 返回一个没有.val() 方法的纯javascript 对象。 $() 等价于 jQuery()See here.

标签: javascript jquery html forms field


【解决方案1】:

您在if((this).val() 附近的代码中错过了$,并将您的代码插入到$(document).ready()

试试这个:

<script type="text/javascript">
$(document).ready(function(){
    $('#Sex').change(function(){
        if($(this).val() == "Male"){
            $('#FemaleRelatedField').remove();
        }
    });
});
</script>

【讨论】:

  • 改成$(this).val() 并添加了$(document).ready,但并没有解决问题。
  • rturn 一些错误?在 if 之前尝试以这种方式查看 $(this)val() 是什么:console.log($(this).val()); @OscarB92
猜你喜欢
  • 1970-01-01
  • 2016-08-25
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多