我正在学习 jQuery,并且在试图弄清楚如何在多维数组中选择元素时遇到问题。我有一个带有数据库 ID 的选择列表,我想根据所选的 ID 在数据库中设置一个带有成本字段的 var。除了将选定的 ID 转换为成本外,我拥有所有的东西。有人可以帮我解决这个问题吗?
var rangeListData = [{"idrange_list":"1","range_cost":"0","target_range_name":"Self Only"},{"idrange_list":"2","range_cost":"1","target_range_name":"1 Space"},{"idrange_list":"3","range_cost":"2","target_range_name":"2 Spaces"},{"idrange_list":"4","range_cost":"3","target_range_name":"3 Spaces"},{"idrange_list":"5","range_cost":"4","target_range_name":"4 Spaces"},{"idrange_list":"6","range_cost":"5","target_range_name":"5 Spaces"}];
$('#slctPowerTarget').change(function () {
var targetID = $('#slctPowerTarget').val();
var cost $.grep(rangeListData, function(e) { return e.idrange_list == targetID }); // this is the line that is wrong
$('#spanTotalEffectsCost').text(cost);
});
如果我将 targetID 放在 cost 所在的位置,它就可以列出。但是,当我尝试查找此内容时,什么也没有发生。不知何故这是不对的,我不确定还有什么可以尝试的。我想我知道 idrange_list == targetID 应该如何匹配它们,但不确定如何调用相关的 range_cost。
谢谢你尽你所能的帮助!我通读了 jquery.com 上的文档,但似乎无法理解它们。