1

「blocksPanel」と「briquettesPanel」を表示または非表示に設定する方法を知りたいですか? ドロップダウン リストで「8:1 圧縮ブロック」が選択されている場合は「blocksPanel」が表示され、ドロップダウン リストで「8:1 圧縮ブリケット」が選択されている場合は「briquettesPanel」が表示されます。

function doGet(e) {
  var app = UiApp.createApplication();

  //Create horizontal product + other panel
  var productOtherPanel = app.createHorizontalPanel().setId('productOtherPanel')
  .setStyleAttribute('position','relative').setStyleAttribute('left','0%');

  //Create horizontal Product Panel  
  var productPanel = app.createHorizontalPanel().setId('productPanel').setStyleAttribute('position','relative')
  .setStyleAttribute('left','0%').setVisible(true);
  //Create listBox
  var productList = app.createListBox().setName("productList").setId('productList');
  //Add items to listBox
  productList.addItem("8:1 Compressed Blocks");
  productList.addItem("8:1 Compressed Briquettes");

  //Create horizontal Compressed Blocks panel
  var blocksPanel = app.createHorizontalPanel().setId('blocksPanel')
  .setStyleAttribute('position','relative').setStyleAttribute('left','0%').setVisible(true);
  //Create Compressed Blocks Size List
  var blocksSizeList = app.createListBox().setName('blocksSizeList').setId('blocksSizeList');
  //addItem fills the Compressed Blocks Size List
  blocksSizeList.addItem("5kg");
  blocksSizeList.addItem("20kg");

  //Create horizontal Briquettes panel
  var briquettesPanel = app.createHorizontalPanel().setId('briquettesPanel')
  .setStyleAttribute('position','relative').setStyleAttribute('left','0%').setVisible(true);
  //Create Briquettes Size List
  var briquettesSizeList = app.createListBox().setName('briquettesSizeList').setId('briquettesSizeList');
  //addItem fills the Briquettes Size List
  briquettesSizeList.addItem("250g");
  briquettesSizeList.addItem("650g");




  app.add(productOtherPanel);
  productOtherPanel.add(productPanel);
  productPanel.add(productList);

  productOtherPanel.add(blocksPanel);
  blocksPanel.add(blocksSizeList);

  productOtherPanel.add(briquettesPanel);
  briquettesPanel.add(briquettesSizeList);


  return app;
}
4

1 に答える 1

3

最初に、製品リストのサーバー変更ハンドラーを作成します。

var handler = app.createServerHandler("panelHandler");
productList.addChangeHandler(handler);

次に、パネル ハンドラー関数を次のように定義します。productList は、ハンドラー関数の「event」パラメーターに渡されます。

function panelHandler(event) {
  var app = UiApp.getActiveApplication();
  if (event.parameter.productList == "8:1 Compressed Blocks") {
    app.getElementById('blocksPanel').setVisible(true);
    app.getElementById('briquettesPanel').setVisible(false);
  }
  else if (event.parameter.productList == "8:1 Compressed Briquettes") {
    app.getElementById('blocksPanel').setVisible(false);
    app.getElementById('briquettesPanel').setVisible(true);
  }
  return app;
}

最初に、商品リストの初期状態に合わせて、blocksPanel を表示、briquettesPanel を非表示に設定する必要があります。

詳細については、サーバー ハンドラーのドキュメントを参照してください。

于 2012-11-26T05:55:03.990 に答える