更改布尔值(Jquery / Javascript)

时间:2013-01-15 20:17:14

标签: 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");
}

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

4 个答案:

答案 0 :(得分:3)

我只能猜出你想要实现的目标。好像你想在某个时候检查,如果项目目前有库存。由于您无法知道何时会发生点击,因此一种解决方案可能会定期检查该值。

(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);
})()

http://jsfiddle.net/Ttu5N/

告诉我,如果我的猜测错了。

更新:方式更简单

$(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>

http://jsfiddle.net/Wb3ET/ 只需点击即可直接进行。

答案 1 :(得分:0)

因为在单击按钮之前,itemInStock不会更改...

答案 2 :(得分:0)

加载后不能使用document.write,也不需要在单击按钮时更改布尔值

创建一个id =“status”且具有

的范围
var itemInStock = false;
$(function() {  
  $("#button").click(function(){
    itemInStock = true;

    $("#status").html("item is in stock":
  }

  $("#status").html(itemInStock?"item is in stock":"item is out ofstock");
});

答案 3 :(得分:0)

// 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");
    }
}