【问题标题】:How to make editable table using bootstrap and jQuery only?如何仅使用引导程序和 jQuery 制作可编辑表?
【发布时间】:2013-03-01 05:33:27
【问题描述】:

这是我的引导表。我只想使用 jQuery 将数据插入到表中。单击特定单元格时,应打开一个文本框以输入数据。我不想使用任何其他插件。

       <table class="table table-bordered">
         <thead class="mbhead">
           <tr class="mbrow">
             <th>A</th>
             <th>B</th>
             <th>C</th>
             <th>D</th>
           </tr>
        </thead>
        <tbody>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
             <td></td>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
           <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>          
         </tbody>
       </table>

帮帮我.thanx。

【问题讨论】:

  • 您必须为此拥有任何数据库?
  • 现在,我不在考虑数据库..只是让它可编辑
  • 这可能会有所帮助jsfiddle.net/JPVUk/1

标签: javascript jquery twitter-bootstrap


【解决方案1】:

您基本上想向单击表格行的用户添加一个事件。在 jQuery 中,您可以像这样添加该事件

$("table.table tr td").bind("click", dataClick);

在 dataClick 函数中,您希望使行可编辑。你可以这样做。

function dataClick(e) {
    console.log(e);
    if (e.currentTarget.innerHTML != "") return;
    if(e.currentTarget.contentEditable != null){
        $(e.currentTarget).attr("contentEditable",true);
    }
    else{
        $(e.currentTarget).append("<input type='text'>");
    }    
}

我这里有一个示例,http://jsfiddle.net/JPVUk/4/

希望对你有帮助

【讨论】:

  • @Amrendra 尝试使用live() 而不是bind()。像这样,jsfiddle.net/JPVUk/5
  • live() 在 jQuery 1.7 中被弃用并在 1.9 中被移除。你可以用 jQuery migrate 插件把它放回去,但我不太确定这是一个好主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多