嗨,我有javascript功能,我试图根据jquery mobile中选中的复选框禁用输入框。但它不工作意味着它本身没有采取的值。那么如何实现呢?
答案 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)
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()
属性
使用name
代替.prop()
,因为css()
用于样式化。
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逻辑
<强> 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);
}
});