Javascript 选中时创建一个复选框,它应显示某些输入字段&;隐藏模式中的其他输入字段
我一直试图用jQuery实现这一点,但它并没有正常工作,我也对压缩代码的方法做了大量的研究。我试图用一个三元运算符来压缩这个语句。如果你能帮助我一个可能的解决方案,这将是伟大的!谢谢(三元溶液会很神奇)我们不会写这样的代码。每次代码检查都失败 这样做: $('#isASeasonal')。单击(函数(){…})Javascript 选中时创建一个复选框,它应显示某些输入字段&;隐藏模式中的其他输入字段,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我一直试图用jQuery实现这一点,但它并没有正常工作,我也对压缩代码的方法做了大量的研究。我试图用一个三元运算符来压缩这个语句。如果你能帮助我一个可能的解决方案,这将是伟大的!谢谢(三元溶液会很神奇)我们不会写这样的代码。每次代码检查都失败 这样做: $('#isASeasonal')。单击(函数(){…}) 我们不会这样写代码。每次代码检查都失败 这样做: $('#isASeasonal')。单击(函数(){…}) 代码的问题是,由于代码中的控制台.log(“X”)调用弄乱了输入元素的属性,
我们不会这样写代码。每次代码检查都失败 这样做: $('#isASeasonal')。单击(函数(){…})
代码的问题是,由于代码中的
控制台.log(“X”)
调用弄乱了输入元素的属性,因此HTML中的引号不匹配。如果您检查控制台,您很可能会看到一些与此相关的错误
正是由于这个原因,在许多其他原因中,使用内联脚本(或CSS样式)被认为是不好的做法。另一个问题是,它不利于分离关注点,并使代码更难阅读。更好的做法是使用不引人注目的Javascript附加事件处理程序,如下所示:
<script>
myFunction(myCheckBox)
{
if(myCheckBox.Checked)
{
console.log('Worky');
$('#ShowIfChecked').show();
$('#HideIfChecked').hide();
}
else
{
$('#HideIfChecked').show(); console.log("No Worky");
}
}
</script>
$('.seasonal checkbox').change(函数(){
$('#ShowIfChecked').toggle(this.checked);
$('HideIfChecked')。切换(!this.checked);
});代码>
#ShowIfChecked{
显示:无;
}
选中的!
没有检查代码>代码的问题是,由于代码中的console.log(“X”)
调用弄乱了input
元素的属性,因此HTML中的引号不匹配。如果您检查控制台,您很可能会看到一些与此相关的错误
正是由于这个原因,在许多其他原因中,使用内联脚本(或CSS样式)被认为是不好的做法。另一个问题是,它不利于分离关注点,并使代码更难阅读。更好的做法是使用不引人注目的Javascript附加事件处理程序,如下所示:
<script>
myFunction(myCheckBox)
{
if(myCheckBox.Checked)
{
console.log('Worky');
$('#ShowIfChecked').show();
$('#HideIfChecked').hide();
}
else
{
$('#HideIfChecked').show(); console.log("No Worky");
}
}
</script>
$('.seasonal checkbox').change(函数(){
$('#ShowIfChecked').toggle(this.checked);
$('HideIfChecked')。切换(!this.checked);
});代码>
#ShowIfChecked{
显示:无;
}
选中的!
没有检查
您可以将您的onclick
更改为一个函数,因为至少对我来说,更容易看到真正发生了什么
所以改变
<input type="checkbox" runat="server" name="Seasonal" value="Seasonal" id="isASeasonal" onclick=" if ($(this).is(':checked')) { console.log('Worky'); $('#ShowIfChecked').show(); $('#HideIfChecked').hide(); } else { $('#HideIfChecked').show(); console.log("No Worky"); }" />
到
在你看来:
<input type="checkbox" runat="server"
name="Seasonal" value="Seasonal" id="isASeasonal" onclick="myFuncton(this)" />
myFunction(myCheckBox)
{
如果(myCheckBox.Checked)
{
console.log('Worky');
$('#ShowIfChecked').show();
$('HideIfChecked').hide();
}
其他的
{
$('HideIfChecked').show();console.log(“无工作”);
}
}
现在,要获得所需的表达式/三元解决方案,可以将此脚本更改为如下所示:
<script>
myFunction(myCheckBox)
{
if(myCheckBox.Checked)
{
console.log('Worky');
$('#ShowIfChecked').show();
$('#HideIfChecked').hide();
}
else
{
$('#HideIfChecked').show(); console.log("No Worky");
}
}
</script>
myFunction(myCheckBox)
{
myCheckBox.Checked?(console.log('Worky'),$('#ShowIfChecked').show(),
$('HideIfChecked').hide();:($('HideIfChecked').show(),console.log(“无工作”);
}
您可以将您的onclick
更改为一个函数,因为至少对我来说,更容易看到真正发生了什么
所以改变
<input type="checkbox" runat="server" name="Seasonal" value="Seasonal" id="isASeasonal" onclick=" if ($(this).is(':checked')) { console.log('Worky'); $('#ShowIfChecked').show(); $('#HideIfChecked').hide(); } else { $('#HideIfChecked').show(); console.log("No Worky"); }" />
到
在你看来:
<input type="checkbox" runat="server"
name="Seasonal" value="Seasonal" id="isASeasonal" onclick="myFuncton(this)" />
myFunction(myCheckBox)
{
如果(myCheckBox.Checked)
{
console.log('Worky');
$('#ShowIfChecked').show();
$('HideIfChecked').hide();
}
其他的
{
$('HideIfChecked').show();console.log(“无工作”);
}
}
现在,要获得所需的表达式/三元解决方案,可以将此脚本更改为如下所示:
<script>
myFunction(myCheckBox)
{
if(myCheckBox.Checked)
{
console.log('Worky');
$('#ShowIfChecked').show();
$('#HideIfChecked').hide();
}
else
{
$('#HideIfChecked').show(); console.log("No Worky");
}
}
</script>
myFunction(myCheckBox)
{
myCheckBox.Checked?(console.log('Worky'),$('#ShowIfChecked').show(),
$('HideIfChecked').hide();:($('HideIfChecked').show(),console.log(“无工作”);
}
季节性地址:
$('#ShowIfChecked').hide()//隐藏如果选中需要显示的内容。
$(“#isASeasonal”)。单击(函数(){//Used click event on复选框
($(“#isASeasonal”).is(':checked')?(console.log('worky'),$('ShowIfChecked').show(),$('HideIfChecked').hide()):(console.log('no worky'),$('HideIfChecked').show(),$('ShowIfChecked').hide());
修复我的问题的是,在ASP.net中,我需要添加clientidmode=“static”对于我试图隐藏的部门。我仍然不明白原因,我目前正在深入研究,但这对我来说是有效的,但在上面,你可以看到三元运算符的大部分最终产品!!耶。季节性地址:
$('#ShowIfChecked').hide();//隐藏选中时需要显示的内容。
$(“#isASeasonal”)。单击(函数(){//Used click event on复选框
($(“#isASeasonal”).is(':checked')?(console.log('worky'),$('ShowIfChecked').show(),$('HideIfChecked').hide()):(console.log('no worky'),$('HideIfChecked').show(),$('ShowIfChecked').hide());
修复我的问题的是,在ASP.net中,我需要添加clientidmode=“static”对于我试图隐藏和显示的div。我仍然不明白为什么,我目前正在深入研究它,但这对我来说是有效的,但在上面,你可以看到大多数带有三元运算符的最终产品!!耶。你能显示HTML吗?还有你尝试过的内容吗?你能显示HTML吗?还有你尝试过的内容吗是的,我知道有一个外部脚本文件。内部脚本是由一个队友放置的,这是他让它工作的唯一方法。我目前正在尝试重新组织他的代码。虽然脚本可以工作