Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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
更改布尔值(Jquery/Javascript)_Javascript_Jquery_Function_Boolean - Fatal编程技术网

更改布尔值(Jquery/Javascript)

更改布尔值(Jquery/Javascript),javascript,jquery,function,boolean,Javascript,Jquery,Function,Boolean,我试图通过使用一个函数对这个值进行布尔更改。我这样试过: var itemInStock = false; $("#button").click(function(){ itemInStock = true } if( itemInStock === false){ document.write("item is out of stock"); } else{ document.write("item is in stock"); } 我理解它为什么不起作用,但我找不

我试图通过使用一个函数对这个值进行布尔更改。我这样试过:

var itemInStock = false;

$("#button").click(function(){
    itemInStock = true
}
if( itemInStock === false){
    document.write("item is out of stock");
} else{
    document.write("item is in stock");
}

我理解它为什么不起作用,但我找不到解决这个问题的方法

因为只有单击按钮才能更改itemInStock…

您不能在加载后使用document.write,也没有必要在单击按钮时而不是之前更改布尔值

创建一个id=“status”的span,并


我能猜出你想达到什么目的。似乎你们想在某个时候检查一下,看看这件商品目前是否有存货。由于您不知道何时会发生单击,一种解决方案是定期检查值

(function () {
    var itemInStock = false;

    $("#button").click(function () {
        itemInStock = true
    });

    window.setInterval(function () {

        if (itemInStock === false) {
            console.log("item is out of stock");
        } else {
            console.log("item is in stock");
        }

    }, 500);
})()

告诉我,如果我猜错了

更新:更简单的方法

$(function () {
    var $state = $('#state');


  $state.text('item is out of stock');

    $("#button").click(function () {
        $state.text('item is in stock');
    });


})

<button id="button">click me</button>
<div id="state"></div>
$(函数(){
变量$state=$(“#state”);
$state.text('项目缺货');
$(“#按钮”)。单击(函数(){
$state.text('item in stock');
});
})
点击我
只要直接点击就可以了。

//HTML
// HTML
<div id="status">item is out of stock by default</div>

// JS
var itemInStock = false;

$("#button").click(function(){
    itemInStock = true;
}, changeStatus());

function changeStatus(){
    if( itemInStock === false){
         $('#status').html("item is out of stock");
    } else{
         $('#status').html("item is in stock");
    }
}
默认情况下,该商品缺货 //JS var itemInStock=false; $(“#按钮”)。单击(函数(){ itemInStock=true; },changeStatus()); 函数changeStatus(){ 如果(itemInStock==false){ $('#status').html(“商品缺货”); }否则{ $('#status').html(“商品有库存”); } }
您不能使用document.write-after-load,也没有必要。单击按钮时,布尔值会发生变化,而不是在按钮之前。始终写入的
项目已售罄
。您可能希望切换状态,而不是盲目设置。大概你想做什么还不太清楚。不要在标题中加上“已解决”。改为接受答案。但我如何解决这个问题,以便在我单击按钮时显示“商品有库存”(例如)?您需要将该警报放入按钮处理程序。太好了!谢谢这正是我要找的!
// HTML
<div id="status">item is out of stock by default</div>

// JS
var itemInStock = false;

$("#button").click(function(){
    itemInStock = true;
}, changeStatus());

function changeStatus(){
    if( itemInStock === false){
         $('#status').html("item is out of stock");
    } else{
         $('#status').html("item is in stock");
    }
}