javascript - 将数据附加到 <script>

标签 javascript jquery html

我有时会克隆一行。

<script id="SubRow10" type="text/template">
  <select id="SubSelect10" class="form-control" name="SubcategorySelect" required>
    <option value="m,2">Op1</option>
    <option value="m,3">Op2</option>
    <option value="m,5">Op3</option>
    <option value="m,6">Op4</option>
  </select>
</script>

我有一个表单可以向 "#Subselect10" 添加一个选项 但是当我这样做时:

$('#SubSelect10').append('<option value="m,8">Op5</option>');

它不起作用,但是当我这样做时:

$('#SubRow10').append('<option value="m,8">Op5</option>');

它可以工作,但不会将其添加到“选择”菜单。

有人能指引我正确的方向吗?

这是一个JSFiddle

最佳答案

这样做:

var template = $('#SubRow10');

template.html($(template.html()).append('<option value="m,8">Op5</option>'));

console.log(template.html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script id="SubRow10" type="text/template">
  <select id="SubSelect10" class="form-control" name="SubcategorySelect" required>
    <option value="m,2">Op1</option>
    <option value="m,3">Op2</option>
    <option value="m,5">Op3</option>
    <option value="m,6">Op4</option>
  </select>
</script>

问题是 <script>标签不会将其内容呈现为 HTML,而是呈现为文本,即使 type不是 text/javascript .为了规避这个问题,你需要在注入(inject)另一个之前将内容解析为HTML <option> .

关于javascript - 将数据附加到 &lt;script&gt;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38639134/

相关文章:

javascript - 使用 Jquery 限制输入文本框

javascript - 从条形码扫描时向文本区域值添加逗号

html - 如何在html中使用accesskey

javascript - 如何在 MySQL Nodejs 中建立一对多关系?

javascript - 在 Canvas 元素中旋转和移动图像?

javascript - 如何使用 jQuery 插入多个 HTML 元素

javascript - 如何用图片替换整个表格?

javascript - 溢出不适用于 td 内的 div

javascript - 按提交后插入的值消失

javascript - 如何在 CSS/Bootstrap 的一行中均匀对齐元素?