0

だから私はあなたが単純に行うjQuery UIで複数のボタンを作成することを知っています:

buttons : [{
    text  : settings.buttonText,
    click : function () { settings.buttonFunction(); }
},
{
    text  : button2Text,
    click : function () { settings.button2Function(); }
}
}]

ダイアログボックスをサイト全体で同様に処理および作成するために作成したプラグインがあり、最近、1つだけでなく複数のボタンを渡すオプションを追加する必要があります。

現在、通常、ボタンが必要でない限り、このセクション全体は実行されません。私はそれを素早くif (settings.buttonText) { }包んでいます。しかし問題は、button2Text などを渡さなくても、ボタンがまだ表示されていることです。のようないくつかの新しいことをすることに加えて.hide()...

私の質問は: 2 番目{ text ... click ... }の領域を動的にして、settings.button2Text がプラグインに渡された場合にのみオブジェクトに表示するにはどうすればよいですか? これは可能ですか?

解決策はとてもシンプルだと思います。今は頭がおかしいだけです:)ご意見ありがとうございます

4

1 に答える 1

3

実際に設定する前にロジックを実行できます。このようなもの:

var myButtons = [{
  text  : settings.buttonText,
  click : function () { settings.buttonFunction(); }
}];

if (addSecondButton) {
  myButtons.push({
    text  : button2Text,
    click : function () { settings.button2Function(); }
  });
}

次に、次のようにダイアログを起動できます。

$(foo).dialog({buttons: myButtons})
于 2012-09-20T20:37:16.777 に答える