【发布时间】:2016-11-30 11:48:09
【问题描述】:
我目前正在制作一个动态调查表,该表会询问客户他想要什么样的产品,然后展示我们电子商店中的相关产品。有点像按参数搜索,但更个性化。
现在我尝试通过从单独的 .php 文件中加载表单的每一页来做到这一点,这些文件旨在替换我页面上的某些 div,以避免重新加载整个页面。
我正在使用,或者更确切地说我正在尝试使用 jQuery UI 小部件,但是当我使用 .load('url') 函数加载下一页时它们停止工作。控制台输出错误,在小部件初始化时声明 $(...).slider is not a function(…)
我的个人页面看起来像这样
<style>
#some styling relevant for the widgets
</style>
<script>
jQuery( function() {
$('#back-button').click(function(){
$('#formular-content').load('/eshop/formular/1.php') //this is how I load the pages
});
$('#next-button').click(function(){
$('#formular-content').load('/eshop/formular/3.php')
});
//also these buttons work, so the whole <script> area seems... usable ?
//code copypasted from http://jqueryui.com/slider/#range
$( "#slider-range" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
$( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
}
});
$( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
" - $" + $( "#slider-range" ).slider( "values", 1 ) );
});
</script>
<p>
<label for="amount">Price range:</label>
<input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;">
</p>
<div id="slider-range"></div>
<a id="back-button" class="ui-button ui-widget ui-corner-all" href="#">back</a>
<a id="next-button" class="ui-button ui-widget ui-corner-all" href="#">back</a>
整个内容都在我加载内容的页面中的<div> 内。
正如我在标题中所说,我在 wordpress 中执行此操作,因此我将 jquery 和 jquery-ui 正确排入队列,它实际上在第一页上工作,这对于测试目的是相同的。它也是在管理面板中创建的常规 wordpress 页面,我在 functions.js 文件中有按钮和滑块功能,这些功能也在主题功能文件中正确排队。
所以我的问题是,如何在.load() 之后使脚本工作。我已经阅读了一些关于 $.getScript() 的内容并考虑加载 jQuery UI 文件,但我不完全确定如何使其与 WP 一起使用,如果它不是多余的,则一遍又一遍地加载相同的文件。我对这些互联网编程语言相当陌生……尤其是在将它们与 WP 集成时。
此外,如果有人对我如何以不同、更好/更简单的方式完成整个表格有其他想法,我愿意接受任何想法。
感谢您的回答
【问题讨论】:
标签: jquery wordpress jquery-ui