如何在SapUi5中创建Dynamic DropDownBox?

时间:2016-03-07 10:12:19

标签: javascript sapui5 dynamic-arrays

我在ProjectExplorer中有一个测试文件夹。在该文件夹中,我有多个JSON文件。我想创建一个DropDownBox,它将包含该文件夹中包含的所有文件名。此外,当我点击任何文件,我想在TextArea中显示该文件。我想在SapUi5中这样做。请建议

到目前为止我尝试了什么

var oText = new sap.ui.commons.Label({
                text : "Saved Files"
            });

            var SavedFiles = new sap.ui.commons.DropdownBox();
            var oItem = new sap.ui.core.ListItem();


    #!/usr/bin/perl 


    $basedir = "data"; //folder location 

    @files = ('*.json'); 

    chdir($basedir); 
    foreach $file (@files) 
    { 
       $ls = `ls $file`; 
       @ls = split(/\s+/,$ls); 
       foreach $temp_file (@ls) 
       { 
          if (-d $file) 
          { 
             $filename = "$file$temp_file"; 
             if (-T $filename) 
             { 
                push(@FILES,$filename); 
             } 
          } 
          elsif (-T $temp_file) 
          { 
             push(@FILES,$temp_file); 
          } 
       } 
    } 


    foreach $FILE (@FILES) 
    { 
          oItem.setText("filename");
          SavedFiles.addItem(oItem);
    } 

1 个答案:

答案 0 :(得分:0)

可以这样做,但你需要让目录可浏览。

  1. 在您需要阅读的目录中创建一个.htaccess文件,并在该文件中添加以下内容: Options +Indexes

  2. 实施以下内容:

  3. var aFiles = [];
    $.ajax({
        url : "http://localhost:8010/", // or whatever URL you use
        success: function (data) {
            $(data).find("a").attr("href", function (i, val) {
                if( val.match(/\.(json)$/) ) { 
                    aFiles.push(val);
                } 
            });
            console.log(aFiles); //aFiles holds an array with all the *.json files
        }
    });