javascript - 显示条件字段 onload 的 Jquery 脚本

标签 javascript jquery html forms

我有一个表单,需要添加一些条件字段。这是 fiddle 上的链接:http://jsfiddle.net/P2Ab2/59/#&togetherjs=ap7ooRf0rw

<script>
jQuery(document).ready(function ($) {
$('input[name="Payer Type"]').change(function () {
        var val1 = $("input[name='Payer Type']:checked").val();
        if (val1 == "Medicare") {
$("#Medicare_num").show("slow");
        } else {
$("#Medicare_num").hide("slow");        }

});

$('input[name="Payer Type"]').change(function () {
        var val1 = $("input[name='Payer Type']:checked").val();
        if (val1 == "Medicaid") {
$("#Medicaid_num").show("slow");
        } else {
$("#Medicaid_num").hide("slow");        }

});

//
$('input[name="Payer Type"]').change(function () {
        var val1 = $("input[name='Payer Type']:checked").val();
        if (val1 == "Commercial Insurance") {
$("#Comm_name, #Comm_policy_num").show("slow");
        } else {
$("#Comm_name, #Comm_policy_num").hide("slow");
        }
});


//

});
</script>
<form>
  <table border="0" cellpadding="1" cellspacing="1" style="width: 750px;">
    <tbody>
      <tr>
        <td style="width: 381px;">Please Select Payer Type:</td>
        <td colspan="3" style="width: 340px;">
          <input name="Payer Type" type="checkbox" value="Medicare" />Medicare&nbsp;
          <input name="Payer Type" type="checkbox" value="Medicaid" />Medicaid&nbsp;
          <input name="Payer Type" type="checkbox" value="Commercial Insurance" />Commercial Insurance</td>
      </tr>
      <tr>
        <td style="width: 381px;">&nbsp;</td>
        <td colspan="3" style="width: 340px;">
          <input id="Medicare_num" name="Medicare Num" placeholder="Medicare ID#" type="text" />
          <input id="Medicaid_num" name="Medicaid Number" placeholder="Medicaid ID #" type="text" />
          <input id="Comm_name" name="Commercial Insurance Name" placeholder="Commercial Insurance Name" size="50" type="text" />
          <input id="Comm_policy_num" name="Commercial Insurance Number" placeholder="Policy #" type="text" />
        </td>
      </tr>
    </tbody>
  </table>
</form>

现在,除了一件事,我让它正常工作:所有条件文本字段都会立即显示。我希望它仅在选中复选框时显示。

最佳答案

首先你应该给复选框不同的名字,目前你无法区分它们,因为它们都有相同的名称/id,之后你可以看到一个复选框是否被选中:

if $('#' + id).is(":checked") {
    //show textbox
}

作为 id 'medicare' 或复选框的任何 id。在加载时运行该 if 语句,然后它只会在复选框被选中时显示文本框。

关于javascript - 显示条件字段 onload 的 Jquery 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334672/

相关文章:

javascript - 使用 Javascript SVG 画线时,鼠标移动时会生成多个 <SVG>。如何确保只剩下最后一个 <SVG> ?

html - CSS 打印和@page 不工作

javascript - 如何使用 jQuery 动态区分何时使用 .val() 或 .text()?

javascript - Node.js 模块级变量未定义

javascript - 如果图像大小 javascript 条件正常显示 div

javascript - 高度自动在左侧菜单中不起作用

javascript - 查找离位置最近的 html 元素(相对或绝对)

javascript - 将内容/文本置于绝对 div 绝对中心;从中心变换

html - 添加自定义顶点 :inputFile icon/image

html - 垂直对齐显示中的多行跨度文本 : inline-block element