编辑:通过链接正确的jquery版本解决了问题我有一个用django构建的web应用程序。我有一个搜索页面,它使用jquery来显示结果,而无需刷新页面。我想在搜索结果中使用折叠式,但它不起作用。下面是代码,/query呈现results.html。Search.html:
{% extends "base.html" %}
{% block nav3 %}class="active"{% endblock %}
{% block container %}
<script type="text/javascript">
$(document).ready(function() {
$("#exec").click(function() {
var dataString = 'arg1='+ $("input#arg1").val() + '&rel=' + $("input#rel").val() + '&arg2=' + $("input#arg2").val();
//alert (dataString);return false;
$.ajax({
type: "GET",
url: "/query",
data: dataString,
success: function(data) {
$(".res").html(data)
}
});
return false;
});
});
</script>
<form class="form-horizontal">
<fieldset>
<legend>Search Relations</legend>
<div class="control-group">
<label class="control-label"> Argument1 </label>
<div class="controls"><input id="arg1" name="arg1" size="30" type="text"/><br /></div>
<label class="control-label"> Relation </label>
<div class="controls"><input id="rel" name="rel" size="30" type="text" /><br /></div>
<label class="control-label"> Argument2 </label>
<div class="controls"><input id="arg2" name="arg2" size="30" type="text"/><br /></div>
</div>
<div class="control-group">
<div class="controls"><button id="exec" class="btn btn-primary"> Search </button></div>
</div>
</fieldset>
</form>
<div class="res"></div>
{% endblock %}results.html:
{% if selected %}
<div class="accordion" id="accordion2">
{% for rel in selected %}
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" data-target=".res#collapse{{ rel.id }}">
{{ rel.arg1 }} / {{ rel.rel }} / {{ rel.arg2 }}
</a>
</div>
<div id="collapse{{ rel.id }}" class="accordion-body collapse">
<div class="accordion-inner">
{{ rel.sentence }}
</div>
</div>
</div>
{% endfor %}
{% else %}
<p>No matching relations are are available.</p>
</div>
{% endif %}当我将生成的html复制到另一个文件中时,折叠式可以工作,但是当它与.html()一起使用时就不能工作了。所有必要的文件都已链接。
发布于 2012-05-11 00:32:54
您需要通过javascript手动启用它:
$(document).ready(function() {
$("#exec").click(function() {
var dataString = 'arg1='+ $("input#arg1").val() + '&rel=' + $("input#rel").val() + '&arg2=' + $("input#arg2").val();
//alert (dataString);return false;
$.ajax({
type: "GET",
url: "/query",
data: dataString,
success: function(data) {
$(".res").html(data).collapse(); // add collapse!
}
});
return false;
});
});发布于 2012-05-11 00:31:04
一旦加载了新内容,您将不得不再次调用折叠函数。所以..。
$.ajax({
type: "GET",
url: "/query",
data: dataString,
success: function(data) {
$(".res").html(data).collapse();
}
}); https://stackoverflow.com/questions/10538383
复制相似问题