设置单选框radio不可选(禁用)

readonly属性对radioselectcheckbox这三个表单无效,设置disabled属性后,读取不到值

在网络上找到思路,总结出如下三种解决方案

  1. 把表单值存入<input type="hidden" >中,如果代码中要改变选中则同时要赋值给该输入框
  2. 提交表单前先移除disabled属性,不提交表单时或提交表单后设置disabled属性(代码中要改变选中前先移除disabled属性)
  3. 只设置没有选中的input框disabled属性 (代码中要改变选中时先移除disabled属性)

其中第三种方案是我自己认为最优解决方式,示例如下:

function disabledRadioGwf(val) {
    // 取消禁用
    $("input:radio[name='gwf']").removeAttr("disabled").removeProp("disabled");
    var value = "N";
    if (!val) {
        value = "Y";
    }
    $("input:radio[name='gwf'][value='" + value + "']").attr("checked", true).prop("checked", true);
    // 禁止选择
    $("input:radio[name='gwf']:not(:checked)").attr("disabled", true).prop("disabled", true);
}

版权声明:本文为qq_39615545原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。