jQuery .attr()和.val()不起作用

时间:2016-05-18 04:36:10

标签: javascript jquery html input

我有一个页面,它在表格中加载了几行,如下所示:

<tr>
{...}
  <td>
    <input type="text" id="rate-adjusted-<?php echo $row_count; ?>" name="section_line_rate_adjusted_01[]" value="{{ number_format($allowableSectionLine->rate_adjusted_line1, 2) }}" disabled />
  </td>
{...}
</tr>

输出:

<td>
   <input type="text" id="rate-adjusted-2" name="section_line_rate_adjusted_01[]" value="20,000.00" disabled=""><br>
</td>

用户现在可以通过输入元素进行选择,以设置应用的百分比,并将110%添加到另一个计算值。

使用Javascript:

function updateRateAdjusted(percentage) {

  jQuery("[id^=rate-adjusted-]").each(function(key) {

    var rate = jQuery('#rate-' + key).val();
    var rate_adjusted = jQuery('#rate-adjusted-' + key);
    //console.log(jQuery(rate_adjusted).val(rate * (1 + (percentage/100))));

    jQuery(rate_adjusted).attr('value', rate * (1 + (percentage/100)));

  });

}

jQuery(document).ready(function() {

  jQuery('#markup-override').change(function() {
    var percentage = jQuery(this).val();
    updateRateAdjusted(percentage);
  });


});

一旦用户更改了inout值,函数就会运行,这会更改另一个隐藏输入值中的值。

我们都尝试了 .val(),它除了 .attr()之外什么都没做,它只更新了属性DOM但不会改变该字段的视觉值。

计算出的值都是正确的。

有人知道我做错了吗?

0 个答案:

没有答案