ASP.NET表单显示另一个字段中基于节的表单字段
ASP.NET Form Display Form Fields based off section in another field
我对ASP.Net开发、MVC 5以及几乎所有Windows都是新手,所以我确信我做错了什么。我在这里四处寻找答案,发现了类似的问题,但我显然做错了。。。可能是因为答案假设我对工作环境有更多的了解…
所发生的情况是,所选的框以"是"开始,我更希望它是"否",并且不管怎样,字段都会显示出来。
我怀疑我的javascript放错了位置和/或丢失了一些重要的东西。
我有一个代码:
<p>
Are you a Licensee?
@Html.DropDownListFor(x => x.Licensee, new[] {
new SelectListItem() {Text="Yes", Value = bool.TrueString},
new SelectListItem() {Text="No", Value = bool.TrueString} }, new {id = "Licensee"})
@section scripts{ <script type="text/javascript">
$(function ()
{
$('#Licensee').change(function ()
{
var value = $(this).val();
if (value == true)
{
$('#LicName').show();
$('#LicUrl').show();
$('#LicRole').show();
}
else
{
$('#LicName').hide();
$('#LicUrl').hide();
$('#LicRole').hide();
}
});
});
</script> }
<p>Your Licensee Name: @Html.TextBoxFor(x => x.LicenseeName, new { id = "LicName" })</p>
<p>Your Licensee Url: @Html.TextBoxFor(x => x.LicenseURL, new { id = "LicUrl" })</p>
<p>your LIcensee Role: @Html.TextBoxFor(x => x.LicenseRole, new { id = "LicRole" })</p>
</p>
更改
@Html.DropDownListFor(x => x.Licensee, new[] {
new SelectListItem() {Text="Yes", Value = bool.TrueString},
new SelectListItem() {Text="No", Value = bool.TrueString} }, new {id = "Licensee"})
至
@Html.DropDownListFor(x => x.Licensee, new[] {
new SelectListItem() {Text="No", Value = bool.TrueString} }, new {id = "Licensee"}),
new SelectListItem() {Text="Yes", Value = bool.TrueString}
这将有助于首先显示值No。
另外,它们总是显示在JavaScript中的原因是,您为每个值(Yes和No(传递bool.TrueString
。对于选项"否",您需要使用bool.FalseString
。
例如:
new SelectListItem() {Text="No", Value = bool.FalseString} }, new {id = "Licensee"}),
好的,我使用这里提示中的复选框找到了它,特别是这个页面,如果复选框选中,则显示/隐藏div
我把这个放在视图页面的标题部分:
function showMe(box, name) {
var chboxs = document.getElementsByName(name);
var vis = "none";
for (var i = 0; i < chboxs.length; i++) {
if (chboxs[i].checked) {
vis = "block";
break;
}
}
document.getElementById(box).style.display = vis;
}
这是一段代码:
<p>
Are you a Licensee?
@Html.CheckBoxFor(x => x.Licensee, new { onclick="showMe('LicenseeYes', 'Licensee')" } )
<div id="LicenseeYes", style="display:none">
<p>Your Licensee Name: @Html.TextBoxFor(x => x.LicenseeName)</p>
<p>Your Licensee Url: @Html.TextBoxFor(x => x.LicenseURL)</p>
<p>your LIcensee Role: @Html.TextBoxFor(x => x.LicenseRole)</p>
</div>
</p>
感谢大家的帮助,它让我走上了正确的道路,给了我正确的搜索起点。
我还将函数更改为,因为循环不是必需的。如果您有多个复选框,希望显示div部分,那么另一个复选框将起作用:
function showMe(box, name) {
var chkbox = document.getElementById(name);
var vis = "none";
if (chkbox.checked) {
vis = "block"
}
document.getElementById(box).style.display = vis;
}
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 防止在输入字段上单击事件
- 高级自定义字段按单选按钮值排序
- 使用JQuery启用输入字段的单选框
- SmartyStreets:使用条件字段调整表单中已验证勾号的位置
- 组合功能以使用 Jquery 在一组单选按钮中显示输入字段和单选按钮
- 使只读字段不可单击
- 使用 JavaScript 进行 HTML 字段表单验证
- JavaScript 在不输入输入字段/表单的情况下传递输入
- JQuery 在动态添加输入字段时单击浏览,而 ajax 不起作用
- 我可以让时间选择器在输入字段中单击时触发吗?
- 将隐藏字段表单值传递给控制器
- 隐藏小视口中的字段,单击按钮再次显示
- 我可以给html文本字段表单中的元素提供相同的名称和id吗
- 在新行上显示输入字段(基于单选)
- 在文本字段(表单)后插入节点
- 动态生成的名称字段的单选按钮组验证