gpt4 book ai didi

javascript - 更改 TextBoxFor 只读属性以决定是否选中复选框

转载 作者:行者123 更新时间:2023-11-28 18:18:04 26 4
gpt4 key购买 nike

我正在尝试更改有关是否选中复选框的 TextBoxFor 只读属性。我读过其他帖子,但答案似乎对我不起作用。请任何人指出我在下面的代码中错过了什么。

<div class="editor-label">
@Html.LabelFor(m => m.AddFitbit)
</div>
<div class="editor-field" id="checkBox">
@Html.CheckBoxFor(m => m.AddFitbit)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Mail)
</div>
<div class="editor-field" id="userMail">
@Html.TextBoxFor(m => m.Mail)
</div>
<br />
<input class="submit" type="submit" value="@LangResources.Create" />
<button onclick="history.back(); return false;">@LangResources.BtnCancel</button>
</div>
</article>
}

@Html.ValidationSummary(true, LangResources.ScreenAddGeneralError)

<script type="text/javascript">
$(function() {
$('#checkBox').change(function () {
if ($(this).is(':checked')) {
$('#userMail').attr('readonly');
} else {
$('#userMail').removeAttr('readonly');
}
});
});
</script>

最佳答案

您的目标是包含复选框的 div,它确实不会触发任何 change 事件。像这样将复选框定位在 div 内。

$(function() {
$('#checkBox input[type="checkbox"]').change(function () {
$('#userMail input[type="text"]').prop('readonly', $(this).is(':checked'));
});
});

此外,我使用 prop 而不是 attr 更正并简化了您的代码。属性应该表示给定属性的初始值,因此更好的做法是更改相应的元素属性。

有关使用 prop 的详细信息,请参阅 the documentation (基于@Liam 的评论)。

关于javascript - 更改 TextBoxFor 只读属性以决定是否选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40485851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com