问题根据另一个的值更新一个Html.TextBoxFor

时间:2015-07-23 19:57:46

标签: javascript jquery asp.net html5 visual-studio-2013

我正在尝试使用一些非常简单的jQuery将一个文本框的文本更改为另一个文本框文本的数值的一半。

我的剧本:

<script>
$(document).ready(function () {
    $('#InventoryValue').keyup(function () {
        var stringValue = $(this).text;
        var floatValue = (parseFloat(stringValue).toFixed(2)) / 2;
        $('#FiftyPercentMultiplier').text(floatValue);
    });
});
</script>

我的文本框定义如下:

 <tr>
     <td>
         <b>@Html.LabelFor(model => model.InventoryValue, new { @class = "control-label col-md-2" })</b>
     </td>
     <td>
         @Html.TextBoxFor(model => model.InventoryValue, new { id = "InventoryValue" })
         @Html.ValidationMessageFor(model => model.InventoryValue)
     </td>
</tr>
<tr>
     <td>
         <b>@Html.LabelFor(model => model.FiftyPercentMultiplier, new { @class = "control-label col-md-2" })</b>
     </td>
     <td>
         @Html.TextBoxFor(model => model.FiftyPercentMultiplier, new { id = "FiftyPercentMultiplier" })
         @Html.ValidationMessageFor(model => model.FiftyPercentMultiplier)
     </td>
</tr>     

渲染文本框:

<input data-val="true" data-val-number="The field *Competitive Inventory Value: must be a number." id="InventoryValue" name="InventoryValue" type="text" value="" />
<input data-val="true" data-val-number="The field *50% (.50) Multiplier: must be a number." id="FiftyPercentMultiplier" name="FiftyPercentMultiplier" type="text" value="" />

提前感谢您的帮助。我花了最后2个小时在工作上粉碎了我的头!

1 个答案:

答案 0 :(得分:0)

使用.val()代替.text()

$('#FiftyPercentMultiplier').val(floatValue);