我在fogbugz板上发布了这个,但我希望得到更快的回应。
下面的脚本执行我希望它执行的操作,除了您需要更改 ixproject 字段(可能是因为我的其他项目不使用子类别)以便使用新值更新下拉列表。有没有办法在更改某些 html 元素的值后刷新它们。
$(document).ready(function(){
var categoryChanged = $('#ixCategory');
var reloadProject = $('#ixProject');
// We don't need Schedule Item so remove it. From our options.
var removeScheduleItem = document.getElementById("ixCategory");
var select = document.getElementById("subcategorya85");
//Remove all options that may exist.
function resetSelectBox(){
var select = document.getElementById("subcategorya85");
select.options.length = 0;
}
//Remove all options before starting.
$(document).ready(function() {
resetSelectBox();
select.options[0] = new Option("--");
//removes schedule item from ixcategory
removeScheduleItem.remove(3);
});
categoryChanged.on("change", function(event){
if (($('#ixCategory')[0].selectedIndex == 0))
{
resetSelectBox();
select.options[0] = new Option("A", "A");
select.options[1] = new Option("B", "B");
select.options[2] = new Option("C", "C");
}
else
if (($('#ixCategory')[0].selectedIndex == 1))
{
resetSelectBox();
select.options[0] = new Option("D", "D");
select.options[1] = new Option("E", "E");
}else
if (($('#ixCategory')[0].selectedIndex == 2))
{
resetSelectBox();
select.options[0] = new Option("F", "F");
}else
if (($('#ixCategory')[0].selectedIndex == 3))
{
resetSelectBox();
select.options[0] = new Option("G", "G");
}
})
});
编辑:我将完全相同的脚本复制到小提琴上并得到了所需的结果。 http://jsfiddle.net/themaniac27/VNfFH/
我需要做些什么不同的事情才能让它在 Fogbugz 中工作。这是使用按需 fogbugz 试用版尝试的。
看起来雾虫板给了我一个答案。
FogBugz的下拉列表添加了各种附加功能 它们,因此直接修改它们可能有点棘手。基本上 你需要调用 DropListControl.refresh() 并传入底层 DOM 元素。另一件需要考虑的事情是FogBugz可以 从查看案例过渡到编辑案例。