簡體   English   中英

jquery/javascript 輸入復選框選中屬性(只讀不工作)

[英]jquery/javascript input checkbox checked attribute (readonly not working)

為什么選中的屬性在 DOM 中不可見?

onchange input.val()總是on ,但是checked屬性正在改變??

input.change(_=> {
    console.log('val:', input.val(), ', checked:', input.prop('checked'));
});

安慰

val: on , checked: true
val: on , checked: false
val: on , checked: true
val: on , checked: false

只讀不工作

如果輸入復選框是readonly的,我仍然可以更改值,並且單擊復選框時會在控制台中提供相同的輸出

單選或復選框元素的value不會改變(除非您以編程方式進行,但我們在這里討論的是與表單的簡單用戶交互)。

當您選中單選/復選框時,僅checked的屬性會更改。 當您的用戶與表單交互時,該屬性應該確定您采取的操作。

為什么選中的屬性在 DOM 中不可見?

這是因為正在更新的是 Element 對象的checked屬性,而不是checked屬性。 如果您想在 JS 代碼中更新 DOM 更改prop()attr() ,但請注意,這會更慢並且在這種情況下沒有任何用處。

這里有一個很好的答案,詳細介紹了 JavaScript 中屬性和屬性之間的區別,這可能有助於消除任何混淆。

暫無
暫無

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

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