有没有一种方法可以搜索选择表单元素中的所有选项,并将具有匹配值的选项指定为“已选择”?
var xStat = "G";
var statOptions = {
"Points": "PTS",
"Goals": "G",
"Assists": "A",
"Penalty Minutes": "PIM"
};
// create the select element
var selectUI = d3.select("#horse").append("form").append("select");
// create the options
selectUI.selectAll("option").data(d3.keys(statOptions)).enter().append("option").text(function(d) {
return d;
});
// add values to the options
selectUI.selectAll("option").data(d3.values(statOptions)).attr("value", function(d) {
return d;
});
// create a func to check if the value of an option equals the xStat var
// if yes, set the attribute "selected" to "selected"
var checkOption = function(e, i, a) {
if (e[i]["value"] === xStat) {
return e[i].attr("selected", "selected");
}
};
// selectUI.selectAll("option").forEach(checkOption);
selectUI.selectAll("option").call(checkOption);
我在这里包含了我的非工作尝试:http://jsfiddle.net/sspboyd/LzrAC/2/ http://jsfiddle.net/sspboyd/LzrAC/2/
这似乎有效:
selectUI.property( "value", xStat );
我自己是新手,正在摸索同样的问题。
如果这是not正确的方式,我有兴趣知道是什么。
http://jsfiddle.net/saipuck/LzrAC/9/ http://jsfiddle.net/saipuck/LzrAC/9/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)