0

私はCKeditorを使用していますが、このコードはボタン用です。xmlをDomに保存します。選択ボックスの他の関数でxmlを使用しようとしています。選択ボックスのコードは、このボタンのコードと似ています。選択ボックスのリストを押す<chr>と、との間の単語が表示され</chr>ます。<chr>オプションを入れたくない。

type: 'button',
id: 'btnFind',
align: 'left',
style: 'width:100%',
label: 'add',
onClick: function () {
    var y = this.getDialog();
    var value1 = y.getValueOf('replace', 'chgWord');
    var value2 = y.getValueOf('replace', 'title');
    var xml = "<channel><title>" + value1 + "</title><chr>" + value2 + "</chr></channel>",
    xmlDoc = $.parseXML(xml),
    $xml = $(xmlDoc),
    $title = $xml.find("title");
    $("#cke_119_select").append("<option value='" + $title.text() + "'>" + $title.text() + "</option>");
    $title = $xml.find("chr");

これはselecboxのコードです:

type: 'hbox',
widths: ['200px', '90px'],
children: [{
    type: 'select',
    label: '약어 LIST :',
    size: 5,
    style: 'width:100%',
    labelLayout: 'horizontal',
    id: 'list',
    items: [],
    onClick: function () {

        selValue = $("#cke_119_select option:selected").val();
        selText = $("#cke_119_select option:selected").text();
        selIndex = $("#cke_119_select option").index($("#cke_119_select option:selected"));
        selBox = $("#cke_119_select");
        selOption = selBox.attr("options");

        var y = this.getDialog();
        var value1 = y.setValueOf('replace', 'chgWord');
        value1.setValue(selValue);
4

2 に答える 2

1

最初の関数の外側で宣言するvarと、2 番目の関数で変数を使用できます。

var xml;

function one(){
  xml= "<channel><title>" + value1 + "</title><chr>" + value2 + "</chr></channel>";

}

function two(){
  /* can access xml here that was set in function one*/
}
于 2012-11-07T11:27:49.027 に答える
1

varJavaScript のキーワードであり、使用されている場所に依存せず、必要に応じて使用できます。

関数内にいる場合、「var」はローカル変数を作成し、「no var」は、変数が見つかるかグローバルスコープに到達するまでスコープチェーンを検索します (その時点で変数が作成されます)。 https://stackoverflow.com/a/1470494/694325

すでにvar両方の onClick 関数を持っているので、実際に使用できますし、使用することもできます。

var xml = "<channel><title>" + value1 + "</title><chr>" + value2 + "</chr></channel>",
    xmlDoc = $.parseXML(xml),
    $xml = $(xmlDoc),
    $title = $xml.find("title");

たとえば、次のように 4 つの変数を同時に作成します。var a=1,b=2,c=3;

var y = this.getDialog();

これは、変数を宣言する方法とまったく同じです。あなたの問題はvarここではありません。

リッチコンボの値を設定したいようです。var theValue = this.getValue();onClick のような関数やthis.setValue("New Value");内部で試すことができます。また、onClick: function ( value ) { ... alert(value); ...}役に立つかもしれません。項目を変更したい場合this._.itemsはonClickでアクセスしてみてください。あなたが何をしようとしているのかを正確に知らなければ、これ以上あなたを助けることはできません。申し訳ありません!

于 2012-11-07T07:06:36.380 に答える