如何包装包含动态加载的值

时间:2017-09-11 08:05:43

标签: javascript jquery html

我无法在逻辑中看到错误,也许你会帮助我

目前我已经得到了这个



$(document).ready(function() { 
  var str = $('#formElements').text();
  str = str.slice(104,112);
  alert(str);
  $('#formElements:contains('+ str +')').load(function(){
			$(this).html().replace(str, '<div class="price-cal-check">'+str+' <span id="priceout"></span>zł</div>');
  });
});
&#13;
form {
  display: block;
  float: left;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<form  method="post" name="form" action="javascript:void(0);">
<div id="formElements" style="float:right; min-height: 280px; margin-left: 20px; width: 575px;">
 <table>
  <tbody>
   <tr>
    <td>Quantity:</td>
    <td>Paper type:</td>
   </tr>
   <tr>
    <td><input name="amount" value="1" type="text"></td>
    <td> <select name="paper">
          <option value="1">250 gsm</option>
         </select>
    </td>
   </tr>
  </tbody>
 </table>
 
 Price: $
 
 <br>
 <input class="submitToCart" name="addCart" value="Add to cart" role="button" aria-disabled="false" style="margin-top: 4px;" type="submit">
</div>
</form>
&#13;
&#13;
&#13;

使用jQuery加载页面后动态生成<span id="priceout">27,00</span>的值。

所以str的输出看起来像Price: $

我想做的就是将整个字符串Price: <span id="priceout">27,00</span>$放入div中。但我的代码不起作用

我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果由我决定,我宁愿将Price:包裹在div中,给它一个ID,然后用以下值附加它:

<div id="price"> Price: </div>

并在您的函数中

$('#price').append('<span id="priceout">27,00</span>$');

希望它有所帮助。

答案 1 :(得分:0)

好的,我现在找到了一个解决方案js看起来像这样

$('#formElements').each(function() {
            var form = $(this);
            var str = form.html();
            var str1 = str.slice(225,260);
            //alert(str);
            form.html(str.replace(str1,'<div class="price-cal-check">'+ str1 +'</div>'));
        });

并且有效