我有一个关于ajax的问题,我有一个类别下拉框和一些javascript,这样当用户选择一个类别时,这会自动将页面重定向到该类别,而不必单击提交按钮。我的问题很简单,如何在此过程中添加ajax来停止页面加载并只加载带有类别项的div?
我正在使用表达式引擎cms,我知道这并不重要,但标签在代码中。
这是我的代码:
<script language="JavaScript" type="text/javascript">
var theTarget = "_top";
function goThere() {
if (!document.theForm.theMenu.selectedIndex=="") {
window.open(document.theForm.theMenu.options[document.theForm.theMenu.selectedIndex].value, theTarget,"");
}
}
</script>
<form name="theForm" action="">
<select name="theMenu" size="1" onchange="goThere()">
{exp:channel:categories channel="store" style="linear" category_group="1"}
<option value="{path='store-directory'}">{category_name}</option>
{/exp:channel:categories}
</select>
</form>
答案 0 :(得分:0)
使用JQuery的$.ajax
函数根据ajax回调替换select中的<option>
标记。通过Ajax调用的脚本只会返回<option>
标记,可以直接加载到<select>
使用JQuery查看$ .ajax方法。
答案 1 :(得分:0)
<script>function goThere(val)
{
$.post(val, function(data) {
$("#categoryDiv").html(data);
});
}</script>
<form name="theForm" action="">
<select name="theMenu" size="1" onchange="goThere(this.value)">
{exp:channel:categories channel="store" style="linear" category_group="1"}
<option value="{path='store-directory'}">{category_name}</option>
{/exp:channel:categories}
</select>
<div id="categoryDiv">
</div>
</form>