我的短代码生成器表单有一个标准的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不包含短代码中的级别,但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
你可以改变你的条件:
if ( value !== options[index] && value != null )
请注意,我在此处使用了!=
而不是!==
来允许类型版本,因此不会添加null
和undefined
值。