如何添加和删除属性“readonly”?
$(document).ready(function() { //Check City Value var city_value = parseInt($("#city").val()); if( city_value == 0) { $("#state").attr("readonly", true); //$("#rate").attr("readonly", "readonly"); } else { $("#state").removeAttr("readonly"); //document.getElementById("state").removeAttribute("readonly",0); //get_states(city_value); } /*** //Check State Value var state_value = parseInt($('#state').val()); if( state_value == 0) { $('#rate').attr('readonly', true); } else { $('#rate').attr('readonly', false); } ***/ });
这是我的示例代码。
PLEASE_SELECT_TEXT Antalya Bodrum Istanbul
我还添加了doctype:
是的,最后我找到了解决方案。 我用过onChange函数。
在我拥有的所有主流浏览器中都能正常工作。 这是一个SSCCE :
SO question 2496443
切换它会使背景变为灰色(虽然并非所有浏览器都这样做)并且输入是不可编辑的(这在所有webbrowsers中都是一致的)。 所以你的问题就在别的地方。 您可能使用的是较差的doctype ,也可能与较差的webbrowser结合使用。
readonly
属性采用布尔值,而readonly
属性采用字符串值。 您应该使用已注释掉的代码:
$("#rate").attr("readonly", "readonly");
你可以在没有jQuery的纯JS(或Vanilla JS )中完成它:
设置属性readOnly
:
document.getElementById("state").readOnly = true;
并且未设置:
document.getElementById("state").readOnly = false;