我的Dashcode项目中有一个列表控制器,它从动态源中提取数据。
在我的列表控制器加载了它的数据后,我想将它的选择索引设置为0 - 这样就显示了列表中第一项的信息。我不能为我的生活弄清楚如何做到这一点。我试过了:
function load()
{
dashcode.setupParts();
var list = document.getElementById("itemsList");
//list.setSelectionIndexes(0); // nope
//list.selectedIndex = 0; // nope
}
答案 0 :(得分:2)
无需为此编写任何代码。在检查器中编辑列表的属性,并在属性选项卡中取消选中允许空选择。如果不允许空值选择,则列表加载时将选择列表中的第一个项目。
答案 1 :(得分:0)
以下是根据名称选择特定项目的示例。对于这个问题,您可以简单地明确设置0索引 - 我认为Vicente的答案更适合于提出的问题,但这对于根据查询字符串等选择项目非常有用。
function load()
{
dashcode.setupParts();
setSelectedItem();
}
function setSelectedItem()
{
var itemSource = dashcode.getDataSource("itemsSource");
var inProgress = itemSource.valueForKey("queryInProgress");
if(inProgress)
{
setTimeout("setSelectedItem()", 200);
}
else
{
var items = itemSource.valueForKeyPath("content.items")
for(i=0;i<items.length;i++)
{
if(items[i].name.toLowerCase() == "specificItemName")
{
document.getElementById("list").object.setSelectionIndexes([i]);
}
}
}
}
答案 2 :(得分:-2)
function load()
{
dashcode.setupParts();
var list = document.getElementById("itemsList");
list.setSelectionIndexes([0]);
}