我试图阻止用户使用jquery或javascript更改单选按钮的状态。我可以用残疾人的财产这样做,但我不喜欢灰色的外观。我向用户显示我的某个模型的真/假状态,因此我不希望他们能够更改它。组中只有一个单选按钮,根据模型选中(true)或取消选中(false),因此无法取消选中它,但可以检查和更改单选按钮状态。单选按钮不会以表格形式提交,因此它仅用于从数据库/模型中读取,但如果将其更改为实际在数据库中的相反值,则会出现糟糕的用户体验。这是我对jquery和html结构的最新尝试。
<input type="radio" checked="checked">
或
<input type="radio">
和jquery
$(document).ready(function () {
$(input[type = "radio"]).change(function () {
$(this).removeAttr("checked");
});
});
答案 0 :(得分:6)
怎么样
<input type="radio" onclick="return false;"/>
或
$(document).ready(function () {
$(input[type = "radio"]).click(function () {
return false;
});
});
答案 1 :(得分:4)
试试这个
$(document).ready(function () {
$('input[type = "radio"]').change(function () {
return false;
});
});
答案 2 :(得分:2)
尝试使用disabled属性,因为它就是这样,但随后使用CSS更改单选按钮的样式。
然而,这听起来并不像一个非常直观的用户体验。用户知道什么是灰色的意思,你可能不应该搞砸了!
答案 3 :(得分:0)
因此,一旦我在选择器上得到引号,它就能正常工作。
$("input[type = radio]")
或
$("input[type = 'radio']")
改变函数的代码有一堆或多个选项可以使用
this = false;
$(this).prop("checked", false);
$(this).attr("checked", false);
$(this).removeAttr("checked");
$(this).removeProp("checked");
使用一个优于另一个是否有优势?四个jquery函数中的任何一个操作标记的属性/属性是否有区别?根据文档,它看起来像prop / removeProp刚刚在1.6中添加而attr / removeAttr在1.0中被添加,因此attr / removeAttr只是用于遗留目的或是jquery暗示一个在另一个上面?