javascript - 如何在 condent 可编辑框中禁用 %

标签 javascript jquery html css contenteditable

如何禁用内容可编辑框中的%,使用户无法更改。我有一个表格,在 td 中有一个内容可编辑框。当用户在其中输入值时,% 符号不应该受到影响并且必须被禁用。如何做到这一点?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
   <div class="col-sm-6" style="background-color:lavender;">

<table class="table table-bordered table-hover table-sm" id="t02">
      <thead style="text-align:center">
         <tr>
            <th class="col-md-6" style="text-align:center">Discounts</th>
            <th class="col-md-1"></th>
            <th class="col-md-1"></th>
            <th class="col-md-2" style="text-align:center">%</th>
         </tr>
      </thead>
      <tbody>
         <tr>
            <th>XXX</th>
            <td></td>
            <td></td>
            <td style="text-align:right" id="xxxDiscount">0.00%</td>
         </tr>
         <tr  class="active">
            <th>YYY</th>
            <td></td>
            <td></td>
            <td style="text-align:right">
              <select id="pip-list">
              <option value=""></option>
              </select>
            </td>
         </tr>
          <tr class="active">
            <th>ZZZZ</th>
            <td></td>
            <td></td>
            <td style="text-align:right">
              <select id="abc-list">
              <option value=""></option>
              </select>
            </td>
         </tr>
         <tr  class="active">
            <th>Discount</th>
            <td></td>
            <td></td>
            <td style="text-align:right" id="discount" contenteditable="true">
              0%
            </td>
         </tr>
         <tr>
            <th style="color:blue" style="text-align:right">Total Discount</th>
            <td></td>
            <td></td>
            <td style="text-align:right" id="secondTableTotal">
              0.00%
            </td>       
        </tr>
      </tbody>
    </table>
    </div>
    </html>

content editable box in td

在我尝试更改值时,在属性之后使用 css 在 td 中添加了额外的一行。附上图

#discount::after {
    content: '%';
}

fig2

fiddle 输出 Fiddle output

最佳答案

您可以简单地在 css 中使用 :after

#discount::after {
    content: '%';
}

jsfiddle

关于javascript - 如何在 condent 可编辑框中禁用 %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36628917/

相关文章:

javascript - 使用 onMouseover JavaScript/HTML 显示文本

javascript - 仅在一个元素内覆盖滚动功能

javascript - 如何在没有 jQuery 的情况下创建动画标题

javascript - 如何为应用程序屏幕截图创建一个漂亮的水平滚动区域,就像 iTunes 上的应用程序一样?

html - Bootstrap 并排放置输入框

javascript - 如何从字符串中分离出字符

javascript - 使用 jquery 对话框中的 html 表单更新 mysql 中的数据

jquery - 无法滚动到网页中div的底部

html - 为什么我的页脚中的文本不对齐?

Javascript AJAX 调用范围 - 可能很愚蠢