layui單選框radio使用form.render() 更新渲染失效的原因


layui單選框radio使用form.render() 更新渲染失效的原因

使用layui做表單處理的時候需要多次切換radio的選中項,使用attr("checked","checked");后再使用form.render()更新渲染發現不生效,剛開始以為是form.render()渲染的問題,后來發現改成 prop('checked',true);就好了


 
13079544-76105557350fb22f.png
 
  1.  
    //無效
  2.  
    $("input[ name=sex][value='男']").attr("checked","checked");
  3.  
    form.render();
  4.  
    //生效
  5.  
    $("input[ name=sex][value='男']").prop("checked",true);
  6.  
    form.render();

使用過程發現 $("input[name='sex']:eq(0)").attr("checked", 'checked'); 這種寫法初始化賦值並加上form.render()是可以更新渲染的,但是如果多次切換的話會造成input的值切換成功,但是layui展示渲染失敗(打印值是正確的,按鈕顯示沒有切換過來),而改成prop設置屬性值則多次更新也沒有問題。

得出結論:

html 自帶屬性請用prop()方法,自定義屬性用 attr() 方法,同時具有 true 和 false 兩個屬性的屬性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
並且prop的屬性值true,false請不要加"",如prop("checked","true");這種寫法依舊不生效
同時可以使用prop設置多個屬性

$("input[name=sex][value='男']").prop({"checked":false,"disabled":true}); 

原文作者技術博客:https://www.jianshu.com/u/ac4daaeecdfe


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM