我会尽力解释发生了什么,因为这很奇怪。在我们的网站上进行一些更改之前(这没有被触及)这工作得很好当我使用 .buttonset()
我们目前有一个多步骤表单,在第二步中,我们使用第一步中的详细信息向客户提供服务提供商列表,他们可以在其中选择他们想要使用的服务提供商。
我们使用 ajax 返回放置在 radio-group div 中的 HTML。下面的 HTML 示例:
<input type="radio" value="1" name="cleaner-select" id="cleaner-select-1" class="cleaner_selection ui-corner-left">
<label for="cleaner-select-1" class="cleaner-selection-box col-md-2 col-xs-12">
<div class="col-md-12 col-xs-12 center fivepxpad">
<button type="button" class="btn btn-default btn-primary" onclick="view_profile(1)"> View Cleaner Profile <span class="btn-icon-right icon-circle-right"></span></button>
</div>
<div class="col-md-12 col-xs-12 cleanerproducts">
<span class="icon green icon-leaf fontsize16"></span> Eco / Natural Products
</div>
<div class="col-md-12 col-xs-12">
<span class="icon icon-shield cleanerverified"></span> Verified
</div>
<div class="col-md-12 col-xs-12">
<span class="icon icon-location"></span> Close-By
</div>
</label>
这放置在下面的 DIV 中:
<div id="radio-group" class="center">
</div>
使用这个 JQuery
$('#radio-group').html(result[1]);
$('#radio-group').buttonset();
当前错误:
当 buttonset 被调用时,所有无线电输入的值都被删除。例如。从 value="1" 变为 just value。这以前没有发生过,我知道 buttonset 是造成这种情况的原因,因为当我删除 $('#radio-group').buttonset(); 该值保持正常(HTML 中没有错误)。
当 buttonset 应用于父 div“radio-group”时,它按预期接收 ui-buttonset 类,但没有其他任何反应,输入单选按钮仍然可见,选择时颜色不显示并且标签保持白色(意味着是浅灰色),但是当点击标签时,选择了正确的 raido 输入。
在我们上次更新时,我们将几个 CSS 文件和 JS 文件合并在一起,但保持所有内容的顺序与之前加载的顺序相同。这是为了减少我们必须进行的调用量,其他一切都工作正常,所以不完全确定这是造成它。我们也没有得到控制台错误。
我尝试过的事情:
- 改变了 $('#radio-group').buttonset(); 到 $('#radio-group').button();
- 调用 $('#radio-group').buttonset(); 在 document.ready 中并尝试过 $('#radio-group').buttonset('refresh); 当 HTML 改变时
- $('#radio-group').buttonset('refresh); 通过它自己
- 仔细检查所有 CSS 和 JS。(包括 JQuery-UI .js 和 .css)
我将尝试切换回我们的旧页眉和页脚文件(进行更多调用)以查看是否可以修复它,但如果有人知道发生了什么,任何帮助/想法/建议将不胜感激。
我似乎找不到任何有类似问题的人,我已经在这方面工作了几个小时,这让我很头疼。如果您需要更多信息,请告诉我。