0

我是 JavaScript 新手。我只想连续创建一个带有文本框和标签的列表。

这样我就创建了一个id 为 cstList的ul 标签。

listData()并在onclick 事件上调用一个函数

在里面,我试图在div 标签内创建一个输入标签。

但是我在尝试运行它时遇到错误。

这是我的代码:

function listData()
    {       
        //var a = sessionStorage.getItem('id');
        if(sessionStorage == null)
        {
            alert("Session storage not supported here");
        }
        else
        {
            var ss = sessionStorage.getItem('id');
            alert("storage value is: "+ss);
        }
    var rows = prompt('Please type in the number of required rows');
    var listCode = '';

    for (var i = 0; i < rows; i++) {
        var listID = 'list_' + i.toString();
        var divID = 'div_' + i.toString();      
            listCode += '<li id="' + listID + '" onclick="itemClicked(this.id);"><div id = "'+ divID + '"> <input type= 'text' id= 'boltQTY' name= 'boltQTY' value = 'abc' size="5"/> </div></li>';
    }
    document.getElementById('cstList').innerHTML = listCode;
    }

这是我收到错误的上述行:Unexpected Identifier

 listCode += '<li id="' + listID + '" onclick="itemClicked(this.id);"><div id = "'+ divID + '"> <input type= 'text' id= 'boltQTY' name= 'boltQTY' value = 'abc' size="5"/> </div></li>';
4

2 回答 2

1

您正在使用单引号,这会破坏字符串。

<input type= 'text' id= 'boltQTY' name= 'boltQTY' value = 'abc' size="5"/>

应该:

<input type= "text" id= "boltQTY" name= "boltQTY" value = "abc" size="5"/>
于 2012-11-16T04:31:21.023 回答
1

那必须是双单单双

listCode += "<li id='" + listID + "' onclick='itemClicked(this.id);'><div id = '"+ divID + "'> <input type='text' id='boltQTY' name='boltQTY' value='abc' size='5'/> </div></li>";

variable = "string" + var1 + "string=' " + var2 +"' ";

只需确保加号 (+) 在双引号 ("") 之间

于 2012-11-16T04:36:20.793 回答