0

ショートコード ジェネレーター フォーム用の標準の html ドロップダウンがあります。基本的な単一選択として持っている場合、その属性はショートコードに追加されません。複数に変更すると、ショートコードに level="null" が追加されます (「level」は属性の名前です。ドロップダウン メニューのオプションは次のとおりです。

<select name="level" id="tms-level" multiple>\
<option value=""></option>\
<option value="1">1</option>\
<option value="2">2</option>\
<option value="3">3</option>\
<option value="4">4</option>\
<option value="5">5</option>\
<option value="6">6</option>\
</select>

そして、ショートコードを生成するために最後に使用されている JavaScript は次のとおりです。

var table = form.find('table');
form.appendTo('body').hide();
form.find('#tms-submit').click(function(){
    var options = { 
        'logged'  : '',
    'level'   : '',
    };
var shortcode = '[tms';

for( var index in options) {
    var value = table.find('#tms-' + index).val();

    if ( value !== options[index] )
    shortcode += ' ' + index + '="' + value + '"';
}

    shortcode += '] Content here. [/tms]';

    tinyMCE.activeEditor.execCommand('mceInsertContent', 0, shortcode);

 tb_remove();

if level=null がレベルをショートコードに含まない場合など、おそらく別の条件文があると思いますが、それを行う方法がわかりません。

4

1 に答える 1

0

次の条件を変更できます。

if ( value !== options[index] && value != null )

and値が追加されないように型強制を許可するために!=and not !==here を使用したことに注意してください。nullundefined

于 2013-09-17T02:02:26.997 に答える