[英]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>
現在,輸出就是我編寫的內容,但是我想將其顯示為是或否。
謝謝
這里有一些問題:
active
和1
,而不是任何變量中保存的值 active
是jUser
的屬性,因此應為jUser.active
jUser.active
保存一個整數,而不是一個字符串。 盡管隱式比較會起作用,但是比較相同類型是更好的做法。 text()
,因此if
是多余的 if
條件的雙方都做同樣的事情 還要注意,如果active
只有兩個可能的狀態(在您的示例中大概為1
或0
),那么將其設為布爾值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.