0

我正在尝试使表格行可拖动,然后 connectToSortable -able。

出于某种原因,当我将 ID 放在tbody ("#sem1")选择器中时,它可以工作,但显然会拖动整个表格主体及其所有行。但是,当我放入"#sem1 tr"选择器时,网页似乎只是忽略了该代码,这意味着表格仍然正确显示,但没有任何东西可以拖动。

HTML:

<table class = "sem">                                   
    <thead>
        <th class = "header1">header</th>
        <th class = "header2">header</th>
        <tr>
            <td class = "static1">static1</td>
            <td class = "static2">static2</td>
        </tr>
    </thead>
    <tbody id = "sem1"> 
    </tbody>
</table>

通过一些 JavaScript 表格行被添加到sem1像这样。

JavaScript:

首先pos0[0](一个数组)被填充:

for(var i in setPos[0]){
    setPos[0][i]=("<tr><td class = " + String(setClass[i])+ ">" + setPos[0][i].slice(2) + "</td><td class = 'someClass'>"+setThis[i]+"</td></tr>");
}

然后pos0[0][a]像这样添加到 sem1:

for(var a in pos0[0]){
    document.getElementById("sem1").innerHTML += pos0[0][a];
}

当我尝试使行可拖动时,它就不起作用了。

jQuery:

$("#sem1 tr").draggable()

tr放入选择器也不起作用(我不介意整个文档中的所有表格行都是可拖动的)

**我知道代码说setPos[0]- 它是对 pos1、pos2 执行相同操作的函数的一部分...

提前感谢您的帮助!

4

1 回答 1

1

我的猜测是您在$("#sem1 tr").draggable()插入 new 的代码运行之前调用了该行<tr>,因此它看不到您添加的行。

此外,您是否尝试过手动插入一些标记来检查可拖动代码是否确实在每行的基础上工作?

如果您可以在 jsfiddle 或其他内容中发布一个示例,这将有所帮助,以便我们可以与您一起解决这个问题。

最后,对于这种情况,这可能是矫枉过正,但是如果您要在应用程序中构建 html 块,您是否考虑过使用 JavaScript 模板引擎?

于 2013-07-21T10:38:11.077 回答