Jquery 如何用值填充输入文本框而不是使用范围?
我有三个td在一张桌子上。其中两个是输入,我将它们相乘,然后给出第三个td的答案。我最初在td中有一个跨度,但我需要一个输入框。对于span,它工作得很好,但是一旦我把输入放进去,它就不工作了 如何使用这个小Jquery函数在输入中显示结果与跨度 以下是td:Jquery 如何用值填充输入文本框而不是使用范围?,jquery,html,Jquery,Html,我有三个td在一张桌子上。其中两个是输入,我将它们相乘,然后给出第三个td的答案。我最初在td中有一个跨度,但我需要一个输入框。对于span,它工作得很好,但是一旦我把输入放进去,它就不工作了 如何使用这个小Jquery函数在输入中显示结果与跨度 以下是td: <td> @* 11 *@ <span class="mcalPremium"></span> //Multiplied answer goes here, but want it in the
<td> @* 11 *@
<span class="mcalPremium"></span> //Multiplied answer goes here, but want it in the TB instead
@*<input type="number" class="form-control mcalPremium" />*@//Commented out to try both.
</td>
编辑和更新:该错误隐藏在许多其他控制台中。我只是错过了。val确实像我想象的那样起作用,但我在val()中有一个美元符号“val('$'+premium)”导致了错误。删除它解决了问题,并可根据需要工作 节点中的值是通过其值属性访问的,而不是通过其内容访问的(如
或
)
相应的jQuery方法是。在jQuery中使用.val
来访问和写入输入,如下所示:
$(文档).ready(函数(){
$('.print')。单击(函数(){
$('#display').append($('input').val()+“
”);
});
$('.add')。单击(函数(){
$('input').val('set content'))
});
});代码>
div{
边框:1px纯黑;
显示:内联块;
光标:指针;
填充:2px;
}
#展示{
边缘顶部:2倍;
高度:200px;
宽度:200px;
}
设置文本
打印文本
虽然大家都说.val()是正确的资源,但是@EGC把我推向了正确的方向。非常感谢。我使用的是.val,但其中有一些不正确的文本,导致了一个错误,该错误被隐藏在我使用的许多其他console.log()中
固定答案是:
<td> @* 11 *@
<input type="number" class="form-control mcalPremium" />
</td>
$("#alSublineValSubmitTBL").on('input', 'td:nth-child(11)', function () {
var td = $(this);
var input1 = +td.find('input').val() || 0;
var input2 = +td.parent().find("td:nth-child(9) input").val() || 0;
var exp = parseInt(input1);
var rate = parseFloat(input2);
var premium = rate * exp;
//display premium in premium field
td.parent().find('.mcalPremium').val(premium).digits();//Fix
});
@*11*@
$(“#alsubpublinevalsubmittbl”)。在('input','td:n子项(11)'上,函数(){
var td=$(本);
var input1=+td.find('input').val()| | 0;
var input2=+td.parent().find(“td:n子(9)输入”).val()| 0;
var exp=parseInt(input1);
var率=解析浮点(输入2);
var溢价=利率*exp;
//在premium字段中显示premium
td.parent().find('.mcalPremium').val(高级).digits();//修复
});
/
不是您评论HTML的方式。对于输入,请使用.val(yourValue)
而不是.text(yourValue)
@Dohab。请确保您可能存在导致意外结果的控制台错误Val
应该起作用,因为它是输入的存取器。请设置小提琴或修复您的上述代码,以便我们可以复制结果,而无需筛选上述无效代码。@EGC您完全正确。我检查了控制台。。我有一堆控制台项目显示,我错过了错误。我将在帖子中进行编辑和解释。正如您所说,val是输入的访问器。。我在val.有文本。。您可以在注释掉的td.parent().find('.mcalPremium').val('$'+premium).digits()中看到它;美元符号搞砸了。。
<td> @* 11 *@
<input type="number" class="form-control mcalPremium" />
</td>
$("#alSublineValSubmitTBL").on('input', 'td:nth-child(11)', function () {
var td = $(this);
var input1 = +td.find('input').val() || 0;
var input2 = +td.parent().find("td:nth-child(9) input").val() || 0;
var exp = parseInt(input1);
var rate = parseFloat(input2);
var premium = rate * exp;
//display premium in premium field
td.parent().find('.mcalPremium').val(premium).digits();//Fix
});