Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 如何使用jquery通过使用某些元素值作为条件来隐藏某些元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery通过使用某些元素值作为条件来隐藏某些元素?

Javascript 如何使用jquery通过使用某些元素值作为条件来隐藏某些元素?,javascript,jquery,Javascript,Jquery,我有以下html: <button id="hideToggle">show/hide</button> <form id="item"> <div>Item 1 <input name="item1" type="number"/></div> <div>Item 2 <input name="item2" type="number"/></div> <di

我有以下html:

<button id="hideToggle">show/hide</button>
<form id="item">
    <div>Item 1 <input name="item1" type="number"/></div>
    <div>Item 2 <input name="item2" type="number"/></div>
    <div>Item 3 <input name="item3" type="number"/></div>
</form>
显示/隐藏
项目1
项目2
项目3
如果单击
时,如果
值大于0,则它不会隐藏,否则
将被隐藏,我如何在
中隐藏每个

如何编写所需的javascript和/或jquery?

$(“#hideToggle”)。单击(函数(){
$("#hideToggle").click(function(){
    $("#item").find("input").each(function(){
        if(this.value <= 0) {
           $(this).parent().toggle();
        }
    });
});

$("#showAll").click(function(){
   $("#item").children("div").show();
});
$(“#项”)。查找(“输入”)。每个(函数(){ 如果(this.value尝试以下方法:

$(document).on("click","#hideToggle",function(){
  $("#item input").each(function(){
    if(!(parseInt($(this).val()) > 0)){
        $(this).parent().hide();
     }
   });
});

以下代码还检查值是否为
数字
。所有说明均在注释中:

//attach click listener to the button
$(document).on("click", "#hideToggle", function(){
    //get all input type="number", descendant to "#item"
    var inputs = $("#item").find("input[type='number']");

    //go over each input
    $.each(inputs, function(index, elem){
        //try to parse it's value as a number
        var number = parseInt($(elem).val());

        //if value is a number
        if(!isNaN(number)){
            var hideCondition =  number <= 0;

            if(hideCondition) {
                //hide the parent div
                $(elem).parent("div").hide();
            }
        } else {
         //do something if value is not a number 
        }
    });
});
//将click listener附加到按钮
$(文档)。在(“单击”,“隐藏切换”,函数()上){
//获取所有输入type=“number”,子代为“#项”
变量输入=$(“#项”).find(“输入[type='number']”);
//检查每个输入
$。每个(输入、功能(索引、元素){
//尝试将其值解析为数字
var number=parseInt($(elem.val());
//如果值是一个数字
如果(!isNaN(编号)){

var hideCondition=number正是我写的东西哈哈。这不会在第二次单击时显示不匹配的隐藏元素。@未定义好的,从操作逻辑来看,你不能显示输入,因为输入本身是隐藏的。你不能更改值。我真的不明白操作试图做什么actually@Karl-安德烈·加农是的,逻辑见ms将被破坏。更改为
切换
,以便按钮在第二次单击时显示隐藏的元素。还制作了一个提琴。嗯,可能对于0或“”以外的值,它们将隐藏。类似于此,如果
不是数字(例如,某些文本),您想做什么?一旦输入被隐藏,如何更改值?按下按钮again@user3333218但价值还是一样的……我真的不明白你想做什么。