从查询字符串中获取变量,将其与Javascript中的数组匹配
Get variable from query string, match it to an array in Javascript
我正在尝试获取一个查询字符串参数,并将其与正在动态生成的数组匹配。
为清晰起见进行编辑url将类似于www.example.com?some=stuff&id=动态编号
我正在从liquid(shopify)输出我的数组,当我查看源代码时,它似乎正在正确渲染。
我的失败点似乎是设置实际变量"soldOut",因为如果我把我知道会在数组中的一个实际值放进去,它就会返回true。
使用静态数组和功能匹配:http://jsfiddle.net/zHuDU/5/
我只是错过了querystring函数,因为我不知道如何使用JSfiddle 来实现这一点
这是我的代码:
<script>
var testArray = [
// shopify liquid to generate values
{% for variant in product.variants %}
{% if variant.inventory_quantity == 0 %}
{{ variant.id }},
{% else %}
{% endif %}
{% endfor %}
];
function GetQueryStringParams(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 soldOut = GetQueryStringParams('id');
if(jQuery.inArray(soldOut, testArray)!==-1) {
console.log("The ID was in the test array (out of stock)");
}
else{
console.log("The ID wasn't in the test array (so it's in stock or I messed up)");
}
</script>
soldOut
是字符串,但数组中的值是整数。将soldOut
强制转换为int:
soldOut = +GetQueryStringParams('id');
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 将Javascript数组发送到控制器ASP.NET MVC
- JavaScript数组包含一个值
- 将JavaScript数组传递给函数
- javascript:数组循环
- 将数据存储在javascript数组中以供进一步使用
- 在Javascript数组中查找绝对最大值
- JavaScript数组优化以提高性能
- 在javascript数组中分散数字
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- Javascript数组动态
- javascript数组元素是否知道其封闭数组
- 将 JSON 数组解析为 JavaScript 数组
- 将Transform和Instance Variable转换为对象的JavaScript数组
- 使用Web Html表单创建Javascript数组
- 从重复的javascript数组结果集中只获取一行
- 如何为Javascript数组()的使用准备PHP变量
- Javascript数组和函数
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)