1

我在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");
    }
  }) 
});

编辑:我将完全相同的脚本复制到 Fiddle 并得到了所需的结果。http://jsfiddle.net/themaniac27/VNfFH/

我需要做些什么不同的事情才能让它在 Fogbugz 中工作。这是尝试使用fogbugz on demand 试用的。

4

1 回答 1

0

看起来fogbugz板给了我一个答案

FogBugz 的下拉列表添加了多种附加功能,因此直接修改它们可能有点棘手。基本上,您需要调用 DropListControl.refresh() 并传入底层 DOM 元素。要考虑的另一件事是 FogBugz 可以从查看案例到编辑案例的 ajaxily 转换。

于 2012-08-10T14:34:14.023 回答