Jor*_*dan 66 html forms radio-button
单选按钮checked默认不显示.我开始没有默认选择做一些非常简单的js验证,它没有工作.所以我选择使用默认值,直到我发现它并发现一些奇怪的事情发生.
标记是有效的,我尝试过FF,Safari和Chrome.什么都行不通.
我认为这是与jQuery库的冲突,因为当我删除调用脚本时问题就消失了.
<label>Do you want to accept American Express?</label> Yes
<input id="amex" style="width: 20px;" type='radio' name='Contact0_AmericanExpress' value='1' /> No
<input style="width: 20px;" type='radio' name='Contact0_AmericanExpress' class='check' value='0' checked="checked" />Run Code Online (Sandbox Code Playgroud)
小智 83
如果您使用checked属性具有多个相同名称,则将使用页面上最后一次检查的无线电.
<form>
<label>Do you want to accept American Express?</label>
Yes<input id="amex" style="width: 20px;" type="radio" name="Contact0_AmericanExpress" />
maybe<input id="amex" style="width: 20px;" type="radio" name="Contact0_AmericanExpress" checked="checked" />
No<input style="width: 20px;" type="radio" name="Contact0_AmericanExpress" class="check" checked="checked" />
</form>Run Code Online (Sandbox Code Playgroud)
Mar*_* T. 33
这可能是这样的:
简而言之:不要使用attr()而是使用prop()来检查单选按钮.上帝我讨厌JS ......
Lix*_*Lix 11
解决这个烦人问题的终极JavaScript解决方法 -
只需将jQuery命令包装在一个setTimeout.间隔可以非常小,我使用10毫秒,它似乎工作得很好.延迟非常小,以至于最终用户几乎无法察觉.
setTimeout(function(){
$("#radio-element").attr('checked','checked');
},10);
Run Code Online (Sandbox Code Playgroud)
这也适用
$("#radio-element").trigger('click');$("#radio-element").attr('checked',true);$("#radio-element").attr('checked',ANYTHING_THAT_IS_NOT_FALSE);Hacky ...... hacky ...... hacky ...... hacky ...是的,我知道......因此这是一个解决方法....
嘿我也遇到了类似的问题,在ajax生成的页面中..我使用FF中的Webdeveloper插件获取生成的源代码,并检查了表单中的所有输入,发现隐藏的div中有另一个复选框(display:none)使用相同的ID,一旦我更改了第二个复选框的ID,它就开始工作..你也可以试试..让我知道结果..干杯
| 归档时间: |
|
| 查看次数: |
173658 次 |
| 最近记录: |