Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择值时在窗体中隐藏字段_Javascript_Jquery - Fatal编程技术网

Javascript 选择值时在窗体中隐藏字段

Javascript 选择值时在窗体中隐藏字段,javascript,jquery,Javascript,Jquery,我试图让下面的函数工作,但它没有,我不知道为什么 <script type="text/javascript"> function hideLevel() { if if isNaN($('#id_course')) { $('#id_level').hide(); $('#level').hide(); $('#id_level').parents('.control-group').h

我试图让下面的函数工作,但它没有,我不知道为什么

<script type="text/javascript">
    function hideLevel() {
        if if isNaN($('#id_course')) {
            $('#id_level').hide();
            $('#level').hide();
            $('#id_level').parents('.control-group').hide();
        }
    }
    $(document).ready(hideLevel);
    $('#id_course').change(hideLevel);
</script>
现在我意识到问题出在isNaN函数上,我没有解释为什么要使用它,请原谅

我有两种课程,基于课程,我想让一些领域消失。我的想法是区分数字和字符串。一个类别的值为字符串,另一个类别的值为数字。函数必须区分值是否为数字,如果是,字段必须消失


无论如何,感谢您的回答:)

如果条件为:

if !isNaN($('#id_course')) {
if ( !isNaN( $('#id_course').val() ) ) {    
应该是:

if ( !isNaN($('#id_course')) ) {
您还必须使用
.val()
来获取处于以下条件的选定元素的值:

if !isNaN($('#id_course')) {
if ( !isNaN( $('#id_course').val() ) ) {    
您可以使用:

$(function(){ //Ready function
     hideLevel();
     $('body').on('change', '#id_course', function(){
        hideLevel();
     });
});
而不是:

$(document).ready(hideLevel);
$('#id_course').change(hideLevel);
注意:在下面的示例中,您可以看到添加的else子句,因为当您选择另一个具有数字值的元素时,您必须再次显示字段

希望这有帮助


函数hideLevel(){
如果(isNaN($('id_课程').val())|$('id_课程').val()==“”){
$('id#u level')。show();
$('#level').show();
$(“#id_级别”).parents(“.control group”).show();
}否则{
$('id#u level')。隐藏();
$('#level').hide();
$('#id_level')。父对象('.control group')。隐藏();
}
}
$(函数(){//Ready函数
hideLevel();
$('id_course')。在('change',function()上{
hideLevel();
});
});

库斯
---------
Néerlandais
法国
英国人
阿勒曼德
拉丁语

Niveau
  • 1ère secondaire
  • 二等兵
  • 4ème二等兵







如果
条件为:

if !isNaN($('#id_course')) {
if ( !isNaN( $('#id_course').val() ) ) {    
应该是:

if ( !isNaN($('#id_course')) ) {
您还必须使用
.val()
来获取处于以下条件的选定元素的值:

if !isNaN($('#id_course')) {
if ( !isNaN( $('#id_course').val() ) ) {    
您可以使用:

$(function(){ //Ready function
     hideLevel();
     $('body').on('change', '#id_course', function(){
        hideLevel();
     });
});
而不是:

$(document).ready(hideLevel);
$('#id_course').change(hideLevel);
注意:在下面的示例中,您可以看到添加的else子句,因为当您选择另一个具有数字值的元素时,您必须再次显示字段

希望这有帮助


函数hideLevel(){
如果(isNaN($('id_课程').val())|$('id_课程').val()==“”){
$('id#u level')。show();
$('#level').show();
$(“#id_级别”).parents(“.control group”).show();
}否则{
$('id#u level')。隐藏();
$('#level').hide();
$('#id_level')。父对象('.control group')。隐藏();
}
}
$(函数(){//Ready函数
hideLevel();
$('id_course')。在('change',function()上{
hideLevel();
});
});

库斯
---------
Néerlandais
法国
英国人
阿勒曼德
拉丁语

Niveau
  • 1ère secondaire
  • 二等兵
  • 4ème二等兵







isNan
是一个用于检查以下值是否可以转换为数字的函数。它不会是元素上的应用程序。您应该使用
.length
属性检查元素是否存在

if($('#id_course').length > 0) 
{
   $('#id_level').hide();
   $('#level').hide();
   $('#id_level').parents('.control-group').hide();
}
要检查
NaN的值

  if(!isNaN($('#id_course').val()))
  {
     $('#id_level').hide();
     $('#level').hide();
     $('#id_level').parents('.control-group').hide();
  }

isNan
是一个用于检查以下值是否可以转换为数字的函数。它不会是元素上的应用程序。您应该使用
.length
属性检查元素是否存在

if($('#id_course').length > 0) 
{
   $('#id_level').hide();
   $('#level').hide();
   $('#id_level').parents('.control-group').hide();
}
要检查
NaN的值

  if(!isNaN($('#id_course').val()))
  {
     $('#id_level').hide();
     $('#level').hide();
     $('#id_level').parents('.control-group').hide();
  }
您可以检查
isNaN($(“#id_课程”)
,但可能需要检查
$(“#id_课程”)
的值是否不是“”(空字符串)<代码>!在这种情况下,isNaN
不是正确的函数,因为即使对于空字符串,它也会返回true

function hideLevel() {
    if ($('#id_course').val()!="") {
        $('#id_level').hide();
        $('#level').hide();
        $('#id_level').parents('.control-group').hide();
    }
}
hideLevel();
$('#id_course').change(hideLevel);
您可以在此处查看正在工作的JSFIDLE:


编辑
我最初以为您希望在选择了选项时隐藏组,现在我意识到您可能希望在选择了而不是选项时隐藏组。在这种情况下,您可以使用
isNaN

function hideLevel() {
   if (!isNaN($('#id_course').val())) {
        $('#id_level').hide();
        $('#level').hide();
        $('#id_level').parents('.control-group').hide();
    }else{
        $('#id_level').show();
        $('#level').show();
        $('#id_level').parents('.control-group').show();
    }
}
您可以检查
isNaN($(“#id_课程”)
,而您可能需要检查
$(“#id_课程”)
的值是否不是“”(空字符串)<代码>!在这种情况下,isNaN不是正确的函数,因为即使对于空字符串,它也会返回true

function hideLevel() {
    if ($('#id_course').val()!="") {
        $('#id_level').hide();
        $('#level').hide();
        $('#id_level').parents('.control-group').hide();
    }
}
hideLevel();
$('#id_course').change(hideLevel);
您可以在此处查看正在工作的JSFIDLE:


编辑
我最初以为您希望在选择了选项时隐藏组,现在我意识到您可能希望在选择了而不是选项时隐藏组。在这种情况下,您可以使用
isNaN

function hideLevel() {
   if (!isNaN($('#id_course').val())) {
        $('#id_level').hide();
        $('#level').hide();
        $('#id_level').parents('.control-group').hide();
    }else{
        $('#id_level').show();
        $('#level').show();
        $('#id_level').parents('.control-group').show();
    }
}

你有
if
那应该是