我正在尝试使用jquery将远程网页加载到特定的div标签,但页面进入无限循环。请告诉我一个关于那个的解决方案。以下是我用过的代码。
<div id="data" style="display:none"></div>
<div id="data1" style="display:none"></div>
<div id="data2" style="display:none"></div>
<form name="frm" id="frm" method="post" action="">
<select id="Make" name="Make" onchange="test1(this.value)">
<option value="">Choose Make</option>
</select>
<select id="year" name="year" onchange="test2(this.value)">
<option value="">Choose Year</option>
</select>
<select id="model" name="model" onchange="">
<option value="">Choose Year</option>
</select>
</form>
<script type="text/javascript">
function test()
{
$.get("/SearchResults.asp?Cat=1833", function (data)
{
//alert("test1");
$('#data').html(data);
});
getVa();
}
test();
function test1(val)
{
$.get(val, function (data)
{
//alert("test2");
$('#data1').html(data);
});
getVa();
}
function test2(val)
{
$.get(val, function (data)
{
// alert("test3");
$('#data2').html(data);
});
getVa();
}
function getVa()
{
var lnk =new Array();
var cnt=0;
var val=new Array
$("a").each(function(index){
if($(this).attr("class")=="subcategory_link")
{
//document.getElementsById("year").innerHTML="<option value="+$(this).attr("href")+">test</option>";
lnk[cnt]=$(this).attr("href");
cnt=cnt+1;
//alert($(this).attr("href"));
}
});
cnt=0;
$("span").each(function(ind){
if($(this).attr("class")=="subcategory_name")
{
val[cnt]=$(this).text();
cnt=cnt+1;
}
});
var select = document.getElementById("Make");
var select1 = document.getElementById("year");
var select2 = document.getElementById("model");
if(select.options.length<=1)
{
for(i=0; i<lnk.length;i++)
{
select.options[select.options.length] = new Option(val[i], lnk[i]);
//alert(lnk[i]);
//alert(val[i]);
}
}
else if(select1.options.length<=1)
{
select1.options[select1.options.length] = new Option(val[i], lnk[i]);
}
else if(select2.options.length<=1)
{
select2.options[select2.options.length] = new Option(val[i], lnk[i]);
}
}
</script>
答案 0 :(得分:0)
如果您正在加载相同的页面(即上面显示的html是searchresults.asp),那么您将解析页面并在加载html时运行脚本,这将再次调用test等。 ..