为什么在选中复选框时未禁用输入框?

时间:2015-06-05 07:12:18

标签: javascript jquery html jquery-mobile

嗨,我有javascript功能,我试图根据jquery mobile中选中的复选框禁用输入框。但它不工作意味着它本身没有采取的值。那么如何实现呢?

5 个答案:

答案 0 :(得分:1)

使用prop disable复选框:

$('[name="PD7"]').prop("disabled", false);

css用于设置匹配选择器的样式。

文档:https://api.jquery.com/prop

  

为匹配元素集设置一个或多个属性。

修改

一些优化:

$('[name="PD6"]').on('click', function () {
    if ($(this).is(':checked')) {
        $(this).val("Y").prop('disabled', false);
        $('[name="PD7"]').prop("disabled", false);
    } else {
        $(this).val("N");
        $('[name="PD7"]').prop("disabled", true);
    }
});

答案 1 :(得分:1)

您可以使用 prop() 方法停用输入字段,也最好使用change()事件代替click()

$('[name="PD6"]').change(function() {
  if (this.checked) {
    $(this).val("Y");
    $('[name="PD7"]').prop("disabled", false);
  } else {
    $(this).val("N");
    $('[name="PD7"]').prop("disabled", true);
  }
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div role="main" class="ui-content">
  <div class="ui-grid-a">
    <div class="ui-block-a">
      <input name="PD6" id="PD6" type="checkbox" />
      <label for="PD6">Other Disability</label>
    </div>
    <div class="ui-block-b theText">
      <input type="text" name="PD7" value="" />
    </div>
  </div>
</div>

答案 2 :(得分:1)

  1. from django.contrib import admin from .models import Employees, Purchase, ProductsOut # Register your models here. admin.site.register(Employees) admin.site.register(Purchase) admin.site.register(ProductsOut) 无法使用document.getElementById()属性

  2. 使用name代替.prop(),因为css()用于样式化。

  3. css()

    $('[name="PD6"]').click(function () {
        $('[name="PD7"]').prop("disabled", !this.checked);
        this.value = this.checked? "Y": "N";        
    });
    
    $('[name="PD6"]').click(function () {
        $('[name="PD7"]').prop("disabled", !this.checked);
        $('[name="PD6"]').val(this.checked? "Y": "N");        
    });

答案 3 :(得分:0)

$('[name="PD7"]').css("disabled", "false");

这不是禁用/启用输入的正确方法。

您需要使用prop()

$('[name="PD7"]').prop("disabled", false);

答案 4 :(得分:0)

JS中的简单if ... else逻辑

WORKING:DEMO

<强> JS

$("#PD6").click(function () {
    var status = document.getElementById("PD6").checked;
    if (status == true) {
        $("input[type=text]").prop('disabled', true);
    } else {
        $("input[type=text]").prop('disabled', false);
    }
});