-2

if(var i = 1;){如果if(var i = 1;){等被删除并且就item.text("Options for your number " + i +"th $Name");在那里,代码似乎无法正常工作。

<script type='text/javascript'>//<![CDATA[

$('#Quantity').keyup(function () {
    var textualValue = $(this).val();
    var numericValue = parseInt(textualValue, 10);

    if (!isNaN(numericValue)) {
        modifyDOMWithNumber(numericValue);
    } else {
        modifyDOMWithNumber(0);
    }
});

function modifyDOMWithNumber(number) {
    var ul = $('ul#ListToAlter').empty();
    var item;

    for (var i = 1; i <= number; i++) {
        item = $("<li>");

        if(var i = 1;){
        item.text("Options for your 1st $Name");
        }elsif(var i = 2;){
        item.text("Options for your 2nd $Name");
        }elsif(var i = 3;){
        item.text("Options for your 3rd $Name");
        }else{
        item.text("Options for your number " + i +"th $Name");
        }

        ul.append(item);
    }
}
//]]></script>
4

5 回答 5

1

去掉分号

if(var i = 1){

这总是正确的

=是赋值运算符并且 ==是比较运算符

如果注意到空格,则elsif应该是else

应该是这样的

for (var i = 1; i <= number; i++) {
    item = $("<li>");

    if (i == 1) {
        item.text("Options for your 1st $Name");
    }
    else if(i == 2) {
        item.text("Options for your 2nd $Name");
    }
    else if(i == 3) {
        item.text("Options for your 3rd $Name");
    } else {
        item.text("Options for your number " + i + "th $Name");
    }

    ul.append(item);
}
于 2013-06-01T21:36:07.070 回答
1

比较的正确方法是if (i == 1) { /* do stuff */ }。使用单个“=”符号时,您正在为变量分配一个值,而不是比较它的值。

if (i == 1) { /* do stuff */ }
else if (i == 2) { /* do some other stuff */ }
else { /* if none of the above work */ }
于 2013-06-01T21:36:57.583 回答
1

if (var i = 1;)

if (i == 1)

首先是语法不正确

其次(i = 1)给出了一个值来i测试它1

= - 赋值运算符

== - 等于

===- 完全等于(值和类型)

于 2013-06-01T21:37:01.373 回答
1

var i = 1;是一个赋值运算符(无论如何都不应该有分号)。你想要的是if (i==1){其他数字等等。尝试更改它,如果您需要更多帮助,请告诉我 :)

当针对不同的值评估相同的变量时,您也可以使用switch 语句。所以你可以重写你的代码如下:

switch(i)
{
    case 1:
    {
        item.text("Options for your 1st $Name");
        break;
    }
    case 2:
    {
        item.text("Options for your 2nd $Name");
        break;
    }
    case 3:
    {
        item.text("Options for your 3rd $Name");
        break;
    }
    default:
    {
        item.text("Options for your number " + i +"th $Name");
    }
}
于 2013-06-01T21:37:21.703 回答
0

它应该是

if (var i==1)

而不是 i=1 在你的情况下。

您需要比较值并且需要至少 2= 符号

于 2013-06-01T21:38:28.377 回答