从查询字符串中选择下拉值
Selecting dropdown value from query string
我是 jQuery 的新手,我遇到了这种情况:
我有一个下拉列表:
<div class="gr">
<input type="hidden" id="Referral" name="Referral" data-required="required" value="">
<div class="fauxSelect">
<div class="arrow_btn">
<div class="arrow"></div>
</div>
<ul class="items" data-hidden-field="Referral">
<li class="item" data-value="Keith T">Keith</li>
<li class="item" data-value="Steve B">Steve</li>
</ul>
</div>
</div>
现在,自定义 javascript 代码的工作方式是,无论您在下拉列表中 select 什么,都将出现在隐藏字段中:Referral(这部分已经通过另一个 JS 库完成了)。
如果我没有传递任何查询字符串参数,一切正常。我的问题是:如果我传递带有 Keith T 参数的 link,像这样:
http://application.aspx?Referral=Keith T
我希望 Keith 在我的下拉菜单中 selected 并且我的下拉菜单应该被禁用。这是我目前的 jQuery:
SelectReferralFromQueryString();
function SelectReferralFromQueryString() {
var name = GetParameterValues('Referral');
if (name != false) {
name = decodeURIComponent(name);
//here name comes correct as Keith T. What should I do from here?
}
}
function GetParameterValues(param) {
var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < url.length; i++) {
var urlparam = url[i].split('=');
if (urlparam[0] == param) {
return urlparam[1];
}
else
return false;
}
}
有人可以指导我从 Querystring 中获取名称值后我应该做什么吗?
您可以尝试使用
$("#Referral").val(name);
这里是示例
从这里引用:
首先编写一个函数以从 URL 获取当前值以供参考。
function getUrlParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var ref_val = getUrlParameter('Referral');
var ref_text = ref_val.split(' ');
$('#Referral .items').empty();
$('#Referral .items').append("<li class='item' data-value='"+ref_val+"'>"+ref_text[0]+"</li>");
希望这能解决您的问题
谢谢
我是 jQuery 的新手,我遇到了这种情况:
我有一个下拉列表:
<div class="gr">
<input type="hidden" id="Referral" name="Referral" data-required="required" value="">
<div class="fauxSelect">
<div class="arrow_btn">
<div class="arrow"></div>
</div>
<ul class="items" data-hidden-field="Referral">
<li class="item" data-value="Keith T">Keith</li>
<li class="item" data-value="Steve B">Steve</li>
</ul>
</div>
</div>
现在,自定义 javascript 代码的工作方式是,无论您在下拉列表中 select 什么,都将出现在隐藏字段中:Referral(这部分已经通过另一个 JS 库完成了)。
如果我没有传递任何查询字符串参数,一切正常。我的问题是:如果我传递带有 Keith T 参数的 link,像这样:
http://application.aspx?Referral=Keith T
我希望 Keith 在我的下拉菜单中 selected 并且我的下拉菜单应该被禁用。这是我目前的 jQuery:
SelectReferralFromQueryString();
function SelectReferralFromQueryString() {
var name = GetParameterValues('Referral');
if (name != false) {
name = decodeURIComponent(name);
//here name comes correct as Keith T. What should I do from here?
}
}
function GetParameterValues(param) {
var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < url.length; i++) {
var urlparam = url[i].split('=');
if (urlparam[0] == param) {
return urlparam[1];
}
else
return false;
}
}
有人可以指导我从 Querystring 中获取名称值后我应该做什么吗?
您可以尝试使用
$("#Referral").val(name);
这里是示例
从这里引用:
首先编写一个函数以从 URL 获取当前值以供参考。
function getUrlParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var ref_val = getUrlParameter('Referral');
var ref_text = ref_val.split(' ');
$('#Referral .items').empty();
$('#Referral .items').append("<li class='item' data-value='"+ref_val+"'>"+ref_text[0]+"</li>");
希望这能解决您的问题
谢谢