javascript - 在 Jquery 中切换 detach() 选择器

标签 javascript jquery html css

我有三个单选按钮,我想在 input:radio[].val !== 'samplename' 时分离一个 div。

这些是我的单选按钮

<div class="form-group">
    <input checked="check" type="radio" value="Invididual" name="type_of_membership" id="radio-indi"> <label class="default-link" for="radio-indi">Individual</label>&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="radio" value="Institution" name="type_of_membership" id="radio-ins"> <label class="default-link" for="radio-ins">Institution</label>&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="radio" value="Corporation" name="type_of_membership" id="radio-corp"> <label class="default-link" for="radio-corp">Corporation</label>
</div>

这是我当前的 JS 脚本

var comapany_input = $("#company-div");

$("input[type='radio']").click(function() {

    if (!$('input:radio').is(':checked').val() == "Corporation") {
        comapany_input.detach();


    } else {

        comapany_input.appendTo("body");
        comapany_input = null;
    }
});

最佳答案

您需要使用

if($('input:radio:checked').val() != "Corporation") {

获取选中复选框的值。

if(!$('input:radio').is(':checked').val() == "Corporation") { 将抛出错误,因为 is 方法将返回一个 boolean 值,该值没有 val 方法。

var comapany_input = $("#company-div");
$("input[type='radio']").change(function() {
  if (this.checked && this.value == 'Corporation') {
    comapany_input.appendTo('body');
  } else {
    comapany_input.detach();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <input checked="check" type="radio" value="Invididual" name="type_of_membership" id="radio-indi">
  <label class="default-link" for="radio-indi">Individual</label>&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="radio" value="Institution" name="type_of_membership" id="radio-ins">
  <label class="default-link" for="radio-ins">Institution</label>&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="radio" value="Corporation" name="type_of_membership" id="radio-corp">
  <label class="default-link" for="radio-corp">Corporation</label>
</div>
<div id="company-div">company-div</div>

<小时/>

您可以隐藏/显示元素,例如

var comapany_input = $("#company-div");
$("input[type='radio']").change(function() {
  comapany_input.toggle(this.value == 'Corporation')
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <input checked="check" type="radio" value="Invididual" name="type_of_membership" id="radio-indi">
  <label class="default-link" for="radio-indi">Individual</label>&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="radio" value="Institution" name="type_of_membership" id="radio-ins">
  <label class="default-link" for="radio-ins">Institution</label>&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="radio" value="Corporation" name="type_of_membership" id="radio-corp">
  <label class="default-link" for="radio-corp">Corporation</label>
</div>
<div id="company-div">company-div</div>

关于javascript - 在 Jquery 中切换 detach() 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39240209/

相关文章:

javascript - 在 HTML5 视频中设置 currentTime

javascript - 如何在页面调整大小时禁用 Bootstrap 弹出窗口

javascript - 在jsp页面中隐藏div标签

php - 需要在我的网站上显示带有特定标签的 flickr 图片

html - 调整大小时更改跨度位置 : Twitter Bootstrap

html - 如何让 box-shadow 出现在 div 上方?

javascript - Ember.js 从动态路由过滤数据

javascript - 如何选择显示值而不是 VALUE 选项?

javascript - 自动滚动 : stop jumps back to top of page

javascript - 如何将文本框弹出窗口(Jquery 工具提示或类似的)添加到 Canvas 中的 Fabric JS 图像?