JavaScript 隐藏现有脚本中的附加文本字段
我正在使用此代码: http://jsfiddle.net/q3nUS/
$('#cf11_field_20').change(function() {
$("#li-11-22")[$(this).val() == "full03_accommodation_hotel" ? 'show' : 'hide']("fast");
}).change();
$('#cf11_field_22').change(function() {
$("#li-11-23")[$(this).val() == "full03_hotel_other" ? 'show' : 'hide']("fast");
}).change();
它工作正常,因此文本字段仅在以下情况下出现: 在第一个下拉列表中选择“酒店”,在第二个下拉列表中选择“其他”。
但是,一旦您将第一个下拉列表更改为“酒店”以外的其他内容,我显然需要隐藏其他两个字段。目前,文本字段仍然存在。
如何更改文本字段也被隐藏的代码? 我知道如何从逻辑上做到这一点,但我在语法上遇到了问题。
我尝试过这样的事情:
$('#cf11_field_20').change(function() {
$("#li-11-22")[$(this).val() == "full03_accommodation_hotel" ? 'show' : 'hide']("fast");
$("#li-11-23")[$(this).val() != "full03_accommodation_hotel" ? 'hide']("fast");
}).change();
$('#cf11_field_22').change(function() {
$("#li-11-23")[$(this).val() == "full03_hotel_other" ? 'show' : 'hide']("fast");
}).change();
这里确实有正确语法的问题。 谢谢!
I am using this code: http://jsfiddle.net/q3nUS/
$('#cf11_field_20').change(function() {
$("#li-11-22")[$(this).val() == "full03_accommodation_hotel" ? 'show' : 'hide']("fast");
}).change();
$('#cf11_field_22').change(function() {
$("#li-11-23")[$(this).val() == "full03_hotel_other" ? 'show' : 'hide']("fast");
}).change();
It works fine so that the text field only appears when:
in the first dropdown "Hotel" is selected AND in the second dropdown "Other" is selected.
But once you change the first dropdown to something other than "Hotel", I obviously need to have both other fields to hide. Currently, the text field remains.
How do I change the code that the text field also gets hidden?
I know how to do it logically but I'm having problems with the syntax.
I tried something like this:
$('#cf11_field_20').change(function() {
$("#li-11-22")[$(this).val() == "full03_accommodation_hotel" ? 'show' : 'hide']("fast");
$("#li-11-23")[$(this).val() != "full03_accommodation_hotel" ? 'hide']("fast");
}).change();
$('#cf11_field_22').change(function() {
$("#li-11-23")[$(this).val() == "full03_hotel_other" ? 'show' : 'hide']("fast");
}).change();
Really having problems with proper syntax here.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当你使用
条件? value if true : value if false
条件后不能省略:
,否则是语法错误(条件为false
时会发生什么?)。如果您不希望条件为 false 时发生任何事情,请改用if
语句,如下所示 (http://jsfiddle.net/q3nUS/2/):希望这有帮助。
When you use the
condition ? value if true : value if false
after a condition, you cannot omit:
, otherwise it is a syntax error (what happens when condition isfalse
?). If you don't want anything to happen when the condition is false, use anif
statement instead, like so (http://jsfiddle.net/q3nUS/2/):Hope this helps.