簡體   English   中英

使用if / else語句jquery將true / false顯示為yes / no

[英]Display a true / false as a yes / no with if / else statment jquery

我想將用戶狀態顯示為“活動:是”。 我不知道如何編寫if else語句。 我嘗試自己編寫它,但是它仍然顯示“ active:1”。我試圖自己做一個if else語句,但是它不起作用。

<script>
    let jUser = {
        "name":"A",
        "lastName":"B",
        "active": 1
    }

    $('#lblName').text(jUser.name)
    $('#lblLastName').text(jUser.lastName)

    //if else statement here: 

    if ('active' == '1') {
        $('#lblActive').text("yes")  
    }
    else if ('active' == '0') {
        $('#lblActive').text("yes") 
    }

    $('#lblActive').text(jUser.active)

    $('.navlink').click( function(){ 
        $('.navlink').removeClass('active')                 
        $('.page').hide() 
        $(this).addClass('active')                          
        let sPageToShow = $(this).attr('data-showPage')     
        $('#'+sPageToShow).show()
    })

</script>

現在,輸出就是我編寫的內容,但是我想將其顯示為是或否。

謝謝

這里有一些問題:

  • 您正在比較的是字符串文字值active1 ,而不是任何變量中保存的值
  • activejUser的屬性,因此應為jUser.active
  • jUser.active保存一個整數,而不是一個字符串。 盡管隱式比較會起作用,但是比較相同類型是更好的做法。
  • 您覆蓋了最后一條語句中的text() ,因此if是多余的
  • if條件的雙方都做同樣的事情

還要注意,如果active只有兩個可能的狀態(在您的示例中大概為10 ),那么將其設為布爾值true / false會更有意義。

考慮到所有這些,您可以使用簡單的三元表達式實現目標:

 let jUser = { "name": "A", "lastName": "B", "active": 1 } $('#lblActive').text(jUser.active === 1 ? 'Yes' : 'No'); /* // the same logic in a full 'if' condition: if (jUser.active === 1) { $('#lblActive').text('Yes'); } else { $('#lblActive').text('No'); } */ 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Active: <label id="lblActive"></label> 

您不能通過將其用引號引起來來訪問變量'' 並且active位於jUser內部,您需要使用jUser.active或jUser [“ active”]對其進行訪問。 並在if塊之后刪除$('#lblActive').text(jUser.active)

if (jUser.active === 1) {
    $('#lblActive').text("yes")  
}
if (jUser.active === 0) {
    $('#lblActive').text("no") 
}

您正在將字符串與數字進行比較,這永遠不會做任何事情。 您需要將jUser對象的active屬性與數字1 ,然后將一些顯示文本設置為“是”或“否”

let jUser = {
    "name":"A",
    "lastName":"B",
    "active": 1
}

$('#lblName').text(jUser.name)
$('#lblLastName').text(jUser.lastName)

let activeStatus = jUser.active === 1 ? "yes" : "no";
$('#lblActive').text(activeStatus);

$('.navlink').click( function(){ 
    $('.navlink').removeClass('active')                 
    $('.page').hide() 
    $(this).addClass('active')                          
    let sPageToShow = $(this).attr('data-showPage')     
    $('#'+sPageToShow).show()
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM