我正在学习jquery ...这是我的问题,我需要克隆从网页1中选择的值并将网页1重定向到网页2 ...
我在这里找到了一些代码,并尝试将它们组合在一起......但是下面的代码只会重定向,并且不会根据网页1中的选定值将下拉值克隆到网页2 ....
function moveTo(optionValue) {
if(optionValue=="") return false;
window.location='.htm'+optionValue;
}
var $orginalDiv = $('#container');
var $clonedDiv = $orginalDiv.clone();
//get original selects into a jq object
var $originalSelects = $orginalDiv.find('select');
$clonedDiv.find('select').each(function(index, item) {
//set new select to value of old select
$(item).val( $originalSelects.eq(index).val() );
});
$clonedDiv.appendTo('clonedItem')
WebPage1下拉列表
<div id="container">
<p>Priority</p>
<select name="priority" id="drop1" size="1" onchange="moveTo(this.options[this.selectedIndex].value);">
<option value="form2.html">Low</option>
<option value="form2.html">Normal</option>
<option value="form2.html">High</option>
<option value="form2.html">Emergency</option>
</select>
</div>
WebPage2下拉列表
<div id='clonedItem'>
<p>Priority</p>
<select name="priority" id="drop2" size="1">
<option value="Low">Low</option>
<option value="Normal">Normal</option>
<option value="High">High</option>
<option value="Emergency">Emergency</option>
</select>
</div>
请告知如何解决此问题,或者除了使用jquery之外还有其他方法...谢谢。
答案 0 :(得分:0)
由于页面刷新,您无法直接存储变量js。有不同的方法来实现你想要的。如果我理解正确,两个选项是相同的,所以他们有相同的选项。为此,我会说“GET”参数是最有用的。在重定向功能中,只需将选定选项的索引作为GET添加到重定向URL:
function moveTo(optionValue) {
if(optionValue=="") return false;
window.location='http://newURL.com'+"?index="+optionValue;
}
然后你只需要在新页面上使用js函数,它可以过滤掉位置以外的GET参数:
function parse(val) {
var result = "Not found",
tmp = [];
location.search.substr(1).split("&").forEach(function (item) {
tmp = item.split("=");
if (tmp[0] === val) result = decodeURIComponent(tmp[1]);
});
return result;
}
(请参阅this aswer了解src)
然后最后在新页面上调用pageload上的parse函数并使选项处于活动状态:
var index = parse(window.location);
$('#drop2 option').eq(index[0]).addClass('selected');