Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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/83.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,首先,我有一个隐藏的输入 <input type="hidden" id="hiddeninp" value="0"> 更改隐藏输入值后,我将显示什么和隐藏什么(当隐藏输入值为0时,反之亦然) 但是,更改值后必须立即进行切换。比如,如果你做了一个函数,那么你可以在改变值后调用它 您可以使用: function doToggle(){ var i = $("#hiddeninp").val(); $('div[id^="div"]').hide(); // or ad

首先,我有一个隐藏的输入

<input type="hidden" id="hiddeninp" value="0">
更改隐藏输入值后,我将显示什么
和隐藏什么
(当隐藏输入值为0时,反之亦然)


但是,更改值后必须立即进行切换。比如,如果你做了一个函数,那么你可以在改变值后调用它

您可以使用:

function doToggle(){
    var i = $("#hiddeninp").val();
    $('div[id^="div"]').hide(); // or add a common class="foo" = $('.foo').hide()
    $('#div'+i).show();
}

$("#inputvalue").click(function() {
    $("#hiddeninp").val(1);
    doToggle();
});

或者这个,但不推荐:

$(document).on('click', function(e){
   var i       = $("#hiddeninp").val(),
       isinput = $(e.target).is('#inputvalue') || $(e.target).parent().is('#inputvalue');
   $('#div0').toggle(isinput && i == 0);
   $('#div1').toggle(isinput && i == 1);
});

我把我的答案放在这里作为一个答案,而不是一个注释,这样我可以向您展示代码的样子


必须将带有hide和show的if语句放置在click事件函数中。因为现在它只在呈现页面时执行if语句。当您将其放置在click event函数中时,每次单击div时都会执行代码。这是必要的,因为更改后必须检查该值

你的代码将变成这样

    $("#inputvalue").click(function() {
        $("#hiddeninp").val(1);

        var myvar = $("#hiddeninp").val();

        if (myvar == 0) {
          $("#div1").hide();
          $("#div0").show();
        } else {

          $("#div0").hide();
          $("#div1").show();
        }
    });

尝试将检查输入值的操作放在一个单独的函数中,并在每次单击时调用itr onload和

试试这个:

$(“#输入值”)。单击(函数(){
if($(“#hiddeninp”).val()==1){
$(“#hiddeninp”).val(0);
$(“#inputvalue”).text(“将输入值更改为1”);
}否则{
$(“#hiddeninp”).val(1);
$(“#inputvalue”).text(“将输入值更改为0”);
}
检查状态();
});
var checkStatus=函数(){
var myvar=$(“#hiddeninp”).val();
如果(myvar==0){
$(“#div1”).hide();
$(“#div0”).show();
}否则{
$(“#div0”).hide();
$(“#div1”).show();
}
}
检查状态()
div#输入值{
光标:指针;
}

将输入值更改为1
第一组

div 2
必须将带有hide和show的if语句放在click事件函数中。因为现在它只在呈现页面时执行if语句。当您将其放置在click event函数中时,每次单击div时都会执行代码。这是必要的,因为您必须在更改后检查值。我可以仅为
myvar
设置
更改事件?
var myvar = $("#hiddeninp").val();

if (myvar == 0) {
  $("#div1").hide();
  $("#div0").show();
} else {
  $("#div0").hide();
  $("#div1").show();
}
function doToggle(){
    var i = $("#hiddeninp").val();
    $('div[id^="div"]').hide(); // or add a common class="foo" = $('.foo').hide()
    $('#div'+i).show();
}

$("#inputvalue").click(function() {
    $("#hiddeninp").val(1);
    doToggle();
});
$(document).on('click', function(e){
   var i       = $("#hiddeninp").val(),
       isinput = $(e.target).is('#inputvalue') || $(e.target).parent().is('#inputvalue');
   $('#div0').toggle(isinput && i == 0);
   $('#div1').toggle(isinput && i == 1);
});
    $("#inputvalue").click(function() {
        $("#hiddeninp").val(1);

        var myvar = $("#hiddeninp").val();

        if (myvar == 0) {
          $("#div1").hide();
          $("#div0").show();
        } else {

          $("#div0").hide();
          $("#div1").show();
        }
    });