- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下示例显示了 2 个复选框
(一个禁用,一个未禁用),它们通过 javascript
未选中并禁用,复选框
(禁用)无法正常工作。
如何解决这个问题? ;((
function toggleProp(e, prop, selector) {
var is = $(e).is(":checked"),
$el = $(selector);
if( $el.length ) {
$el.each(function () {
$(this).prop("checked", is).prop(prop,is).checkboxradio("refresh");
})
} else {
$el.prop("checked",is).prop( prop,is).checkboxradio("refresh");
}
}
function toggleAccount(e) {
if( jQuery(e).is(':checked') ) {
jQuery('#InitAccounts').prop('disabled',false).checkboxradio('refresh');
jQuery('#InitAccounts2').prop('disabled',false).checkboxradio('refresh');
} else {
jQuery('#InitAccounts').prop('checked',false).checkboxradio('refresh');
jQuery('#InitAccounts').prop('disabled',true).checkboxradio('refresh');
jQuery('#InitAccounts2').prop('checked',false).checkboxradio('refresh');
jQuery('#InitAccounts2').prop('disabled',true).checkboxradio('refresh');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script>
<div data-role="page" id="install">
<div data-role="main" class="ui-content">
<form name="myForm" method="POST" action="/cgi-bin/sinfonix.pl?%20install%20Guest" enctype="multipart/form-data" target="connect9">
<div class="ui-field-contain">
<fieldset data-role="controlgroup" data-iconpos="right">
<legend>Módulos a Activar</legend>
<label for="SF_Module">Modulos Financiero</label>
<input id="SF_Module" name="Modules" type="checkbox" value="SF" data-theme="b" data-mini="true" onclick="toggleProp(this, 'disabled', '.SF');" onchange="toggleAccount(this)">
<label for="CG_Module"> Contabilidad General</label>
<input id="CG_Module" name="Modules" type="checkbox" value="CG" class="SF" data-mini="true" onchange="toggleAccount(this)">
</fieldset>
</div>
<div class="ui-field-contain">
<fieldset data-role="controlgroup">
<legend>Cuentas Contables</legend>
<label for="InitAccounts" >Inicializar Catalogo de Cuentas (funciona bien)</label>
<input id="InitAccounts" name="InitAccounts" type="checkbox" data-mini="true">
<label for="InitAccounts2">Inicializar Catalogo de Cuentas (funciona mal)</label>
<input id="InitAccounts2" name="InitAccounts2" type="checkbox" data-mini="true" disabled>
</fieldset>
</div>
</form>
</div><!-- /main -->
</div><!-- /page -->
最佳答案
花了一些时间来理解那里的问题,我认为这是 jquery-mobile 中的一个错误。
问题是您不应该在 disabled
上使用 removeAttr
,我认为这就是他们在代码中使用的内容。
如果您可以影响服务器生成的 html,我建议您将 disabled
属性更改为 data-disabled
并在页面加载时使用它:
$(function() {
$('input[type="checkbox"][data-disabled]').prop('disabled', true);
});
这是一个基于该更改的工作示例:
$(function() {
$('input[type="checkbox"][data-disabled]').prop('disabled', true);
});
function toggleProp(e, prop, selector) {
var is = $(e).is(":checked"),
$el = $(selector);
if( $el.length ) {
$el.each(function () {
$(this).prop("checked", is).prop(prop,is).checkboxradio("refresh");
})
} else {
$el.prop("checked",is).prop( prop,is).checkboxradio("refresh");
}
}
function toggleAccount(e) {
if( jQuery(e).is(':checked') ) {
jQuery('#InitAccounts').prop('disabled',false).checkboxradio('refresh');
jQuery('#InitAccounts2').prop('disabled',false).checkboxradio('refresh');
} else {
jQuery('#InitAccounts').prop('checked',false).checkboxradio('refresh');
jQuery('#InitAccounts').prop('disabled',true).checkboxradio('refresh');
jQuery('#InitAccounts2').prop('checked',false).checkboxradio('refresh');
jQuery('#InitAccounts2').prop('disabled',true).checkboxradio('refresh');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script>
<div data-role="page" id="install">
<div data-role="main" class="ui-content">
<form name="myForm" method="POST" action="/cgi-bin/sinfonix.pl?%20install%20Guest" enctype="multipart/form-data" target="connect9">
<div class="ui-field-contain">
<fieldset data-role="controlgroup" data-iconpos="right">
<legend>Módulos a Activar</legend>
<label for="SF_Module">Modulos Financiero</label>
<input id="SF_Module" name="Modules" type="checkbox" value="SF" data-theme="b" data-mini="true" onclick="toggleProp(this, 'disabled', '.SF');" onchange="toggleAccount(this)">
<label for="CG_Module"> Contabilidad General</label>
<input id="CG_Module" name="Modules" type="checkbox" value="CG" class="SF" data-mini="true" onchange="toggleAccount(this)">
</fieldset>
</div>
<div class="ui-field-contain">
<fieldset data-role="controlgroup">
<legend>Cuentas Contables</legend>
<label for="InitAccounts" >Inicializar Catalogo de Cuentas (funciona bien)</label>
<input id="InitAccounts" name="InitAccounts" type="checkbox" data-mini="true">
<label for="InitAccounts2">Inicializar Catalogo de Cuentas (funciona mal)</label>
<input id="InitAccounts2" name="InitAccounts2" type="checkbox" data-mini="true" data-disabled>
</fieldset>
</div>
</form>
</div><!-- /main -->
</div><!-- /page -->
关于javascript - .checkboxradio ('refresh' )问题,无法与禁用的预加载字段一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45723972/
我有一个单选按钮列表,当单击添加按钮时,在单选按钮中添加新项目,但刷新方法不起作用并给出错误: 未捕获错误:在初始化之前无法调用 checkboxradio 上的方法;尝试调用方法“刷新” at Fu
我在我的网络应用程序中使用 jQuery 1.9.1、jQuery mobile 1.3.1(js 和 css)。当我调用 checkboxradio 取消选中所有复选框时,它抛出异常“checkbo
以下示例显示了 2 个复选框(一个禁用,一个未禁用),它们通过 javascript 未选中并禁用,复选框(禁用)无法正常工作。 如何解决这个问题? ;(( function toggleProp(e
jQuery 的 checkboxradio() 不起作用。我尝试了很多,但单选按钮显示为简单的 html 单选按钮。 $("input[type='radio']").checkboxradio()
我正在使用名为 checkboxradio 的 jquery UI 小部件。因为我发现他们在没有复选框的情况下提供的美学很有趣,就好像它是一个按钮一样。 我遇到的问题是我需要动态创建复选框,因为根据数
我遇到了一个奇怪的问题。我有一个带有复选框列的表格。我正在使用 JQuery Mobile 复选框。我希望单击一行与单击该行中的复选框相关联。 JS: $(document).on('pagecrea
我正在尝试以编程方式选中/取消选中 jquery-ui checkboxradio 小部件(即不使用鼠标)。我尝试过各种各样的事情,但没有快乐。要重现该问题,请选择一个只有 jquery 和 jque
将选定复选框放入选项卡小部件时,我在正确呈现选定复选框时遇到了一些麻烦。 在选项卡之外,复选框可以正确呈现。 我准备了一个 JSFiddle 显示该问题:https://jsfiddle.net/x3
我的 ASP Webform 应用程序中有许多 CheckBox。我想对我的应用程序中的所有复选框应用 JQuery UI checkboxradio()。 为此,我已将以下代码放置在我的 Site.
jQuery UI 和 jQuery 主题未加载时我遇到了一些问题。 我使用的是最新的 Wordpress 4.6。在我的主题文件夹中使用 Functions.php,我添加了这段代码: fu
我有以下 html,当我预览页面时,出现以下错误: Can't create checkboxradio on element.nodeName=input and element.type=text
我正在解决这个问题。 这些是我使用并引起上述问题的代码。 $(document).ready(function () { $("#at-site-btn").bind("tap", funct
我是一名优秀的程序员,十分优秀!