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 不包括 level 在简码中,但我不知道如何做到这一点。

4

1 回答 1

0

你可以改变你的条件:

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

请注意,我在这里使用!=而不是!==允许类型强制,因此null不会undefined添加值。

于 2013-09-17T02:02:26.997 回答