2012-04-04 56 views
0

我是JavaScript新手,请理解我的情况。需要InnerHTML解决方案 - 应该很容易回答

我已经创建了一个简单的HTML表单,其中包含一个下拉菜单(用于选择数量的项目)和一个提交按钮(用于添加到购物车)。

提交后,表单的结果显示在网页的表格中。

到目前为止,我的代码可以显示表单选项的结果。

但是,我需要用“qtytoy1”的变量结果替换数量。

这是我的代码。

function addToy1New() 
{ 
var i = document.getElementById("qty_toy1"); 
var qtytoy1 = i.options[i.selectedIndex].text; 
var htmlTagString="<table width=\"100%\" border=\"0\">" 
        +" <tr>" 
        +" <td>Optimus Prime</td>" 
        +" <td> x 1</td>" 
        +" <td>$26.99</td>" 
        +" </tr>" 

        +" <tr>" 
        +" <td></td>" 
        +" <td>Total:</td>" 
        +" <td>$26.99</td>" 
        +" </tr>" 
        +"</table>"; 

document.getElementById("toy1_add").innerHTML=htmlTagString; 
document.getElementById("toy1_test").innerHTML=qtytoy1; 
} 

如何用我的变量“qtytoy1”替换“$ 26.99”?

我很确定有更好的方法来解决这个问题。如果你这么认为,请分享,但确保新手如自己可以理解。 :)

+3

我推荐使用jQuery。它使生活变得更容易。 http://jquery.com/ – 2012-04-04 23:38:40

+0

请张贴您的html,否则不可能不做任何假设的回答。 – 2012-04-04 23:40:59

+0

'document.createElement'&'document.appendChild'? – 2012-04-04 23:43:09

回答

3
var htmlTagString="<table width=\"100%\" border=\"0\">" 
        +" <tr>" 
        +" <td>Optimus Prime</td>" 
        +" <td> x 1</td>" 
        +" <td>" + qtytoy1 + "</td>" 
        +" </tr>" 

        +" <tr>" 
        +" <td></td>" 
        +" <td>Total:</td>" 
        +" <td>" + qtytoy1 + "</td>" 
        +" </tr>" 
        +"</table>"; 
+0

感谢哥们。在发布之前就已经完成了,但非常感谢帮助! – 2012-04-05 00:20:50

1

您应该能够使用replace方法对你的字符串:

htmlTagString = htmlTagString.replace("$26.99", qtytoy1); 

然后再从那里上。

+0

我不认为这个答案应该得到一个downvote。这个问题很模糊,所以人们只能假设它的含义。 + 1up来对付downvote。 – 2012-04-05 00:03:09

+0

根据OP对JS专业知识水平的同意,这个答案完全符合要求。这真的很不雅。 – 2012-04-05 00:23:22