Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在D3中的节点上运行搜索功能_Javascript_Jquery_D3.js - Fatal编程技术网

Javascript 如何在D3中的节点上运行搜索功能

Javascript 如何在D3中的节点上运行搜索功能,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我正在使用一个force节点图,并希望在搜索功能中构建一个节点,使那些未连接的节点和链接变得不透明。我已经有了一个函数,当单击时,它将突出显示该节点及其连接。我想在页面上有一个搜索框,在那里我可以输入某人的名字,它执行相同的操作。由于内置了所有额外功能,我的代码相当长,但以下是重要部分: 简单搜索按钮: <div> <input id="targetNode" name="targetNode" type="text" value="Last name, First n

我正在使用一个force节点图,并希望在搜索功能中构建一个节点,使那些未连接的节点和链接变得不透明。我已经有了一个函数,当单击时,它将突出显示该节点及其连接。我想在页面上有一个搜索框,在那里我可以输入某人的名字,它执行相同的操作。由于内置了所有额外功能,我的代码相当长,但以下是重要部分:

简单搜索按钮:

<div>
    <input id="targetNode" name="targetNode" type="text" value="Last name, First name" />
    <button onclick="search()">Submit</button>
</div>
搜索功能

function search() {

    var userInput = document.getElementById("targetNode"); 
    var theNode = d3.select("#c"+userInput.value);
    return theNode;

}
从这里我有了我想要的节点,可以操纵它的特定属性,但这不是目标。我还有一个函数,可以根据给定的索引值识别邻居,但选择搜索的节点不会给我该对象

function linkToNodes() {
    force.links().forEach(function(link) {
    linkedByIndex[link.source.index + "," + link.target.index] = 1;
    });
}

function neighboring(a, b) {
return linkedByIndex[a.index + "," + b.index] || linkedByIndex[b.index + "," + a.index]    || a.index == b.index;
}
最后一点信息:在故障排除中,我运行了以下代码:

theNode.attr('r',function(d) { console.log(d);}) 
这个“d”对象本质上就是我想要得到的,以便正确地执行我的代码。我非常感谢任何帮助,包括了解d3如何输入'd'对象和后续索引占位符等方面的参考资料


谢谢这么多朋友

不太清楚你的问题是什么,但也许这可以提供一个指针或两个感谢!实际上,它将帮助我解决我计划明天解决的下一个问题。至于我的问题-我想要的是能够在搜索框中搜索(我不包括搜索框代码),找到该节点并突出显示它以及它的邻居和链接。您可以使用jquery执行搜索,同时使用.find()和autocomplete(),然后使用匹配的项可以执行任何您想要的操作。。。除此之外,对不起,我没有真正理解你的问题,你似乎已经解决了它?此外,jquery库中可能还有其他功能可以使用。“我希望能够在搜索框中搜索(我不包括搜索框代码),找到该节点并突出显示它以及它的邻居和链接。”这不是一个问题。@StephenThomas我为没有以最佳方式解决它而道歉。让我再试一次:我已经有了一个函数,当单击它时,它将突出显示该节点及其连接。我想在页面上有一个搜索框,在那里我可以输入某人的名字,它执行相同的操作。
theNode.attr('r',function(d) { console.log(d);})