我有以下代码很好地运作:
$field2.on("change", "#selector", function(){
$field2.load("./index.php?show-options=true", { value: $(this).val() }, function() {
$("#options").buttonset();
});
});
它加载#options
div并应用按钮来锚定其中的标签。
有没有办法宣布
$("#options").buttonset();
加载#options
div之前?
我查看了jQuery文档但没有成功,也发现了这个答案:
Apply jQuery UI widgets to ajax loaded elements
我认为可能会走上正轨,但还没有完全理解,也无法实现。
帮助表示感谢,谢谢。
答案 0 :(得分:0)
执行以下操作:
$field2.on("change", "#selector", function(){
$field2.load("./index.php?show-options=true", { value: $(this).val() }, function() {
$field2.find("#options").buttonset();
});
});
将$ field2中的所有选项元素放入按钮集(一旦内容更新)。
或者你也可以在dom上设置按钮:
$(function() { $("#options").buttonset(); });
<强>更新强>
jQuery选择器处理DOM中的元素(除非给定上下文),如果元素不在DOM中,那么不幸的是jQuery将无法直接影响它。如果加载然后调用buttonset导致FOUC(无格式内容的闪烁),您可以尝试以下操作:
$field2.on("change", "#selector", function() {
$field2.empty();
$.get("./index.php?show-options=true", { value: $(this).val() }, function(data) {
var newContent = $(data);
$("#options", newContent).buttonset();
$field2.empty().append(newContent);
});
});