脚本在选择单选按钮时禁用文本框
Script to disable a text box on selecting a radio button
我有两个单选按钮
<div class="col-md-2">
@Html.RadioButtonFor(model => model.ReceiveCopyOrders, "true") Yes
</div>
<div class="col-md-3">
@Html.RadioButtonFor(model => model.ReceiveCopyOrders, "false", new { @id = "mailForOrder_no" }) No
</div>
和文本框
<div class="col-md-10">
@Html.TextBoxFor(m => m.OrderEmail, new { @class = "form-control",@id="
mailForOrder" })
</div>
如果选中了单选NO,我想禁用文本框。
我试过下面的脚本
<script>
$(document.getElementById('mailForOrder_no')).checked(function () {
document.getElementById('mailForOrder').disabled = true;
});
但是复选框没有被禁用。
我做错了什么
你想做这样的事吗?
<input type="radio" name = "rad" class="rad" value="Yes"/>Yes
<input type="radio" name = "rad" class="rad" value="No"/>No
<input type="text" id="txt" />
<input type="button" onclick="disableTextBox()" />
JavaScript代码:
function disableTextBox() {
$(".rad").each(function() {
if (this.checked && this.value == "No") {
$("#txt").attr('disabled','disabled');
}
});
}
如果你不使用jQuery,就像这样:
样本小提琴
// Get radios
var rad = document.getElementsByName('mailForOrder_no');
// Disable / Enable element based on value
function disable_by_radio(w, id) {
document.getElementById(id).disabled =
w.checked && w.value === "No";
}
// Update by event
rad[0].onchange = function (e) { disable_by_radio(this, 'mailForOrder'); };
rad[1].onchange = function (e) { disable_by_radio(this, 'mailForOrder'); };
// Initial update
disable_by_radio(rad[1], 'mailForOrder');
与此HTML:
<input type="text" id="mailForOrder" />
<input name="mailForOrder_no" type="radio" value="Yes" />Yes
<input name="mailForOrder_no" type="radio" value="No" checked />No
因为你没有使用jQuery, $()
部分,以及为什么你的代码不能工作,是不可能解释的,因为它不是纯Javascript的一部分。
总之,一个大胆的猜测:
单选按钮没有名为checked()
的函数,但有一个属性。如果代码的$()
部分只传递对象,那么尝试调用属性将导致错误。
我们可以这样做:
function(){ if($('#mailForOrder_no:checked')){$("mailForOrder").attr()"disabled","disabled"} }
相关文章:
- 或者在表单上选择默认选项文本(选择1)
- Javascript:包括特殊字符的文本选择
- 大写--文本区域中的文本选择
- 点击
- 项目时的文本选择
- 通过 javascript 在每次点击时动态禁用文本选择
- 文本框的 CSS 文本选择覆盖
- 单击“img”源时,文本选择未清除
- 链接内的内容可编辑块,如何防止重定向,但让文本选择插入符号位置更改
- 当我单击画布并拖动鼠标时,光标将变为文本选择光标.我该如何防止这种情况发生
- 重新启用文本选择(Opera、webkit等)
- 绝对元素后面的元素上的文本选择
- 禁用JavaScript中的文本选择器
- 从网站中删除文本选择限制的脚本
- Javascript/jQuery Load 函数,文本选择
- HTML 浏览器的“文本”选择:选择整个单词(如在 iBooks 中)
- 锁定页面文本选择
- 如何删除文本选择中的子元素
- 如何将选定的“文本”选择框发送到按钮上的函数,以便使用角度进行 ng 单击
- 锤击.JS桌面文本选择和滑动冲突
- j查询启用/禁用文本选择错误