为什么jqueryif条件不';不行?
我试图通过将获得的分数除以*100/totalmarks,在第三个文本框中显示值; 但我无法做到这一点为什么jqueryif条件不';不行?,jquery,conditional-statements,Jquery,Conditional Statements,我试图通过将获得的分数除以*100/totalmarks,在第三个文本框中显示值; 但我无法做到这一点 $(document).ready(function () { $("#TextBoxTotalMarks, #TxBx_MarksObtained").keyup(function () { var a = parseInt($("#TextBoxTotalMarks").val(), 10);
$(document).ready(function () {
$("#TextBoxTotalMarks, #TxBx_MarksObtained").keyup(function () {
var a = parseInt($("#TextBoxTotalMarks").val(), 10);
var b = parseInt($("#TxBx_MarksObtained").val(), 10);
var c;
if (a < b) {
c = "sorry not accepted";
}
else {
c = ((b * 100) / a).toFixed(2);
}
$("#TextBoxMarksInPercent").val(c);
});
});
$(文档).ready(函数(){
$(“#TextBoxTotalMarks,#TxBx_marks已保留”).keyup(函数(){
var a=parseInt($(“#TextBoxTotalMarks”).val(),10);
var b=parseInt($(“#TxBx_marksotained”).val(),10);
var c;
if(a
当我在total marks文本框中键入100,在marks Acquired文本框中键入300时,我没有看到消息“抱歉,未接受”
也许您还想将事件处理程序附加到#TextBoxTotalMarks
$("#TextBoxTotalMarks, #TxBx_MarksObtained").keyup(function () {
~~~~~~~~~~~~~~~~~~
如果您仍然遇到问题,则始终可以设置断点并检查a
和b
的结果。正如所解释的,问题很可能是字符串比较问题。也许您还想将事件处理程序附加到#TextBoxTotalMarks
$("#TextBoxTotalMarks, #TxBx_MarksObtained").keyup(function () {
~~~~~~~~~~~~~~~~~~
如果您仍然遇到问题,则始终可以设置断点并检查a
和b
的结果。正如所解释的,问题很可能是字符串比较问题。您在这里遇到了问题:
$("#TxBx_MarksObtained, #TxBx_MarksObtained")
//--^^^^-----------------^^^^-------------------using same selector twice.
我认为这应该是:
$("#TxBx_MarksObtained, #TextBoxTotalMarks").keyup(function () {
这对我很有用:您在这里遇到了问题:
$("#TxBx_MarksObtained, #TxBx_MarksObtained")
//--^^^^-----------------^^^^-------------------using same selector twice.
我认为这应该是:
$("#TxBx_MarksObtained, #TextBoxTotalMarks").keyup(function () {
这对我来说很有用:更新:(从您显示标记开始)
问题是,您提供的asp:TextBox
的ID
不是它的客户端ID。要获得它,您需要使用它,例如:
然后你可能想稍微改变一下你的状况:
if (isNaN(a) || isNaN(b) || a < b) {
或者,如果您想改用name
,请将选择器的格式更改为input[name=“TextBoxTotalMarks”]
或类似格式
这两种方法都适用:|(不过我认为您的计算有问题)更新:(在您显示标记时)
问题是,您提供的asp:TextBox
的ID
不是它的客户端ID。要获得它,您需要使用它,例如:
然后你可能想稍微改变一下你的状况:
if (isNaN(a) || isNaN(b) || a < b) {
或者,如果您想改用name
,请将选择器的格式更改为input[name=“TextBoxTotalMarks”]
或类似格式
这两种方法都适用:|(我认为您的计算有问题)@DotNetDreamer:NaN
是JavaScript的“非数字”值。如果对无法解析为数字的内容使用parseInt
,则得到的结果是NaN
<例如,code>parseInt(“foo”,10)
isNaN(a)
检查a
是否为NaN
@DotNetDreamer检查$(“#TextBoxTotalMarks”).val()
和$(“#TxBx_marks tained”).val()
在javascript中有值吗?@DotNetDreamer:我添加了另一种可能性(使用id
,在这里您可能使用name
)。基本上,上面的方法是有效的。我正在使用id,请参见中的htmlquestion@DotNetDreamer:事实上,你不是。请参阅更新的答案。@DotNetDreamer:NaN
是JavaScript的“非数字”值。如果对无法解析为数字的内容使用parseInt
,则得到的结果是NaN
<例如,code>parseInt(“foo”,10)isNaN(a)
检查a
是否为NaN
@DotNetDreamer检查$(“#TextBoxTotalMarks”).val()
和$(“#TxBx_marks tained”).val()
在javascript中有值吗?@DotNetDreamer:我添加了另一种可能性(使用id
,在这里您可能使用name
)。基本上,上面的方法是有效的。我正在使用id,请参见中的htmlquestion@DotNetDreamer:事实上,你不是。查看更新的答案。各种答案发现了几个不同的问题。我建议您使用任何一款像样的现代web浏览器,浏览客户端代码、设置断点、检查实际进入浏览器的标记等,以了解客户端上实际发生的情况。各种答案发现了几个不同的问题。我建议您使用任何一款像样的现代web浏览器,浏览客户端代码、设置断点、检查实际进入浏览器的标记等,以了解客户端上实际发生的情况。@DotNetdreamer添加了一把小提琴。@DotNetdreamer添加了一把小提琴。