如果短代码生成器中没有选择,则多个selectbox返回null

时间:2013-09-17 01:48:05

标签: javascript select conditional-statements shortcode

我的短代码生成器表单有一个标准的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();

我想也许是另一个条件语句,比如,如果level = null不包含短代码中的级别,但我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:0)

你可以改变你的条件:

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

请注意,我在此处使用了!=而不是!==来允许类型版本,因此不会添加nullundefined值。