使用带有表格排序器插件的选择标签并将其默认为给定值

Posted

技术标签:

【中文标题】使用带有表格排序器插件的选择标签并将其默认为给定值【英文标题】:use select tags with table sorter plug in and have it default to a given value 【发布时间】:2012-08-13 00:39:25 【问题描述】:

我有一个带有下拉框的表格,允许用户选择不同的选项。我需要显示加载表格时的默认选择。到目前为止,这是我的代码:

    //get info for defect dropdown
        var myselectoptions = '';
        for(y=0;y<data.defect2.length; y++)
        
            defect2 = data.defect2[y];
        defect3 = defect2.substring(0,30);
            myselectoptions += '<option value="'+data.defect_id[y]+'">'+defect3+'</option>';    
        

        if(data.isbn2 === null)
                $("#inventoryUpdate").append('<tr><td>No Records Found</td></tr>');
            else
        for(var x=0;x<data.isbn2.length;x++)
                

        $("#inventoryUpdate").append('<tr><td id="tableSKU">'+data.sku[x]+'</td><td id="tableISBN">'+data.isbn2[x]+
                 '</td><td><input type="text" id="tableQuantity" value="'+data.quantity[x]+
                 '"/></td><td><select id="tableDefect">'+myselectoptions+
                 '"</select></td><td><input type="text" id="tableSource" value="'+data.source[x]+
                 '"/></td><td><input type="text" id="tableFeature" value="'+data.feature[x]+
                 '"/></td><td><input type="text" id="tableWater" value="'+data.water[x]+
                 '"/></td><td><input type="text" id="tableLocation" value="'+data.location[x]+
                '"/></td><td><input type="text" id="tableProcessDate" value="'+data.processDate[x]+
                '"/></td><td><input type="text" id="tableBookType" value="'+data.booktype[x]+
                '"/></td><td><input type="text" id="tableCreatedBy" value="'+data.created[x]+
                '"/></td><td><input type="text" id="tableModifiedBy" value="'+data.modified[x]+
                '"/></td></tr>');
                                    
        $("#inventoryUpdate").trigger("update");

我知道如果是常规下拉菜单,我可以使用 selected="selected"(我尝试过这样做,

'<option value="'+data.defect_id[y]+'"selected="'+data.defect[y]+'">...

),但在这种情况下我该怎么做呢?

编辑:所选数据在 data.defect[x]

【问题讨论】:

【参考方案1】:

尝试使用三元运算符 (example):

myselectoptions += '<option value="'+data.defect_id[y]+'"' +
 (data.defect[y] ? ' selected="selected"' : '') + '>'+defect3+'</option>';

【讨论】:

抱歉,阅读您的回答后发现错误。随着所选内容的来源发生变化,这仍然有效吗? 我从构建&lt;option&gt; 列表的循环中取出了那一行。我不得不假设 data.defect[y] 返回一个真/假值 (ref) 我想我需要使用 data.defect_id[y]==data.defect[x] ? 'selected="selected"' : '')... 如果有可能,因为 data.defect[x] 被拉到 table.append 部分

以上是关于使用带有表格排序器插件的选择标签并将其默认为给定值的主要内容,如果未能解决你的问题,请参考以下文章

当带有 extract() 的 Scrapy 选择器返回 None 时如何设置默认值?

带有寻呼机的jQuery表格排序器单元格高度问题

有没有办法获取选项标签值并将其传递给车把中的助手?

带有选择标签的 dataTables 列过滤插件

Angular 8:为选择标签设置默认选择值

一个页面有好几个时间选择器。怎么初始化