gpt4 book ai didi

php - 需要从从 php 转换为 jquery 的数组中按值获取索引

转载 作者:行者123 更新时间:2023-12-01 04:37:44 25 4
gpt4 key购买 nike

我们已有 10 年历史的软件过去是用 PHP 编写的,并结合了 HTML 和 SQL 片段。我被迫充分利用它。

由于完全没有 JavaScript 经验,我必须使用 jQuery 的 inArray 来按值获取索引。

尽管一切似乎都是正确的,但 inArray 始终返回 -1,尽管我应该获得正确的索引。那我到底做错了什么?

$html1 .= "<script src='/js/jquery-3.2.1.min.js'> </script>
<script> var juseridarray = ".json_encode($useridarray).";

$(document).ready(function()
{
$('#chiefname').change(UpdateInfo);
$('#chiefid').change(UpdateInfo);
$('#chiefs').change(UpdateInfo);
});
function UpdateInfo()
{
var chiefname = $('#chiefname').val();
var chiefid = $.inArray( chiefname, juseridarray);
var chief = chiefid;
$('#chief').val(chief);
console.log(juseridarray);
console.log(chiefname);
}

</script>";

抱歉,我忘了提及日志输出。这是我从 firebug 复制的 juseridarray 日志输出的片段:

Object[430]
1: "Administrator"
3: "Bob"
8: "Wegner, Meike "
10: "Uhrenbauer, Sonja"
[426 more...]

该数组似乎具有正确的索引和正确的值。因此,当我搜索“Bob”时,inArray 返回 -1,尽管“Bob”预计返回 3。另一方面,我在使用时得到“Bob”作为返回

console.log(juseridarray[3]);

数组内容是静态的。它在运行时不会改变。如果是这样,用户名将始终保留其 id(存储为索引)

最佳答案

首先,它不是您正在操作的数组,而是一个对象。

您不能像您想要的那样使用对象的 inArray 。但是,下面的代码应该返回具有给定用户名的用户的 ID(如果存在)。

function findUserIdByUsername(user, userArray){
var user_id = false;
$.each(userArray, function(id, username){
if( user == username ) user_id = id
});
return user_id;
}

var chiedif = findUserIdByUsername('bob', juseridarray);

关于php - 需要从从 php 转换为 jquery 的数组中按值获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46588614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com