【发布时间】:2013-05-20 13:09:57
【问题描述】:
我想将选定的值重定向到相应的 URL。 但是当我选择任何值时,它会重定向到特定的 URL,但对于任何选定的值都会显示与“我的帐户”相同的文本。
如何在选择时动态设置文本?
html
<li style="margin:-3px 0 0 0;">
<select id="myacc">
<option value="1" id="myacc_link" ><a href="/Myaccount.asp">My account</a> </option>
<option value="2" id="sign_btn" ><a href="/login.asp">Sign IN</a></option>
<option value="3" id="out_btn" ><a href="/login.asp">Sign Out</a></option>
<option value="4" id="o_btn" ><a href="/Myaccount.asp">Orders</a></option>
</select>
</li>
jQuery
$(function () {
// bind change event to select
$('#myacc').bind('change', function () {
var op_val = $("#myacc option:selected").text();
if (url == 1) { // require a URL
window.location = 'http://xcome.sewuk.servertrust.com/Myaccount.asp'; // redirect
var nval = "My account"
$("#myacc option:selected").text(nval);
} else if (url == 2) {
window.location = 'http://xcome.sewuk.servertrust.com/login.asp';
var nval = "Sign In"
$("#myacc option:selected").text(nval);
/* $("#sign_btn").text("Sign In"); */
} else if (url == 3) {
window.location = 'http://xcome.sewuk.servertrust.com/login.asp';
$("#out_btn").text("Sign Out");
} else if (url == 4) {
window.location = 'http://xcome.sewuk.servertrust.com/ShoppingCart.asp';
var url1 = $(this).text();
$("#o_btn").text("Orders");
}
return false;
});
上面是我正在尝试实现的代码,但它不起作用。
【问题讨论】:
-
当重定向到新页面或重新加载当前页面时,所有花哨的东西都丢失了,javascript 从头开始。要跨多个页面跟踪内容,您需要持久存储,例如 cookie 或本地存储。
-
定义:
not working -
你在哪里定义
url?此外,window.location = ...之后的任何代码都可能不会做任何事情,因为页面上下文已卸载并加载了新的上下文。更重要的是,您实际上想要在这里完成什么?你为什么试图将options 的文本设置为他们已经拥有的文本?当您似乎确实想要其中的a元素中的 URL 时,为什么要为options 使用整数值?为什么你的options 中甚至还有a元素?这似乎不是有效的 HTML。
标签: javascript jquery