$(document).ready(function() {
$("a").click(function() {
$("#results").load("jquery-routing.php",
{ pageNo: $(this).text(), sortBy: $("#sortBy").val()}
);
return false;
});
});
如何在jQuery中创建数组并使用该数组而不是{ pageNo: $(this).text(), sortBy: $("#sortBy").val()}
答案 0 :(得分:120)
一些想法:
jQuery是一个JavaScript库,而不是一种语言。因此,JavaScript数组看起来像这样:
var someNumbers = [1, 2, 3, 4, 5];
{ pageNo: $(this).text(), sortBy: $("#sortBy").val()}
是价值关键的地图。如果你想要一个键或值的数组,你可以这样做:
var keys = [];
var values = [];
var object = { pageNo: $(this).text(), sortBy: $("#sortBy").val()};
$.each(object, function(key, value) {
keys.push(key);
values.push(value);
});
JavaScript中的对象非常灵活。如果要创建对象{foo: 1}
,请执行以下所有操作:
var obj = {foo: 1};
var obj = {};
obj['foo'] = 1;
var obj = {};
obj.foo = 1;
要结束,你想要这个吗?
var data = {};
// either way of changing data will work:
data.pageNo = $(this).text();
data['sortBy'] = $("#sortBy").val();
$("#results").load("jquery-routing.php", data);
答案 1 :(得分:28)
您可能会将Javascript数组与PHP数组混淆。在PHP中,数组非常灵活。它们可以是数字索引的,也可以是关联的,甚至是混合的。
array('Item 1', 'Item 2', 'Items 3') // numerically indexed array
array('first' => 'Item 1', 'second' => 'Item 2') // associative array
array('first' => 'Item 1', 'Item 2', 'third' => 'Item 3')
其他语言认为这两者是不同的东西,Javascript就在其中。 Javascript中的数组始终以数字形式编制索引:
['Item 1', 'Item 2', 'Item 3'] // array (numerically indexed)
“关联数组”,也称为Hash或Map,技术上是Javascript *中的Object,其工作方式如下:
{ first : 'Item 1', second : 'Item 2' } // object (a.k.a. "associative array")
它们不可互换。如果需要“数组键”,则需要使用对象。如果不这样做,你就制作了一个数组。
*
技术上所有是Javascript中的一个对象,请把它放在一边讨论这个论点。 ;)
答案 2 :(得分:10)
不完全清楚你的意思。也许:
<script type="text/javascript">
$(document).ready(function() {
$("a").click(function() {
var params = {};
params['pageNo'] = $(this).text();
params['sortBy'] = $("#sortBy").val();
$("#results").load( "jquery-routing.php", params );
return false;
});
});
</script>
答案 3 :(得分:4)
以下是明确的工作示例:
//creating new array
var custom_arr1 = [];
//storing value in array
custom_arr1.push("test");
custom_arr1.push("test1");
alert(custom_arr1);
//output will be test,test1
答案 4 :(得分:1)
我暂时没有使用jquery,但你可能正在寻找这个:
答案 5 :(得分:0)
这是我使用的一个例子。
<script>
$(document).ready(function(){
var array = $.makeArray(document.getElementsByTagName(“p”));
array.reverse();
$(array).appendTo(document.body);
});
</script>
答案 6 :(得分:0)
你的问题毫无意义。你问的是如何将哈希变成一个数组。 你不能。
你可以创建一个值列表,或者创建一个键列表,这些都与jquery无关,这是纯粹的javascript