2013-08-06 165 views
0

下面的代码涉及一系列重复表单字段的简化形式。我正在写一些JavaScript来在表单字段中插入值,然后显示表单字段,但很难为jquery选择器获得正确的语法 - 例如,在选择器中使用变量。我查看了http://api.jquery.com/html/http://api.jquery.com/remove/以及一些代码示例,如http://jsfiddle.net/LYDuZ/,但仍然卡住。请为您的javascript html()和remove()代码的正确代码提供帮助。正确的格式jQuery选择器?

预先感谢您..

的html代码:

<style> 
    .hideElement {display:none;} 
</style> 


<form> 
    <!-- first set--> 
    <div id="product0" class="hideElement"> Product <br> 
    <p> productname: </p> <div id="fld_name0"> </div> 

    <!-- second set--> 
    <div id="product1" class="hideElement"> Product <br> 
    <p> productname: </p> <div id="fld_name1"> </div> 

</form> 

javascript代码:

for(var i=0;i<msg.nrofproducts;i++){ 

    $("#fld_name'+i'").html(msg.productname[i]);  

    $("#product'+i'").remove('.hideElement'); //finally show product 
}//for i 

回答

0
  1. 拼接正确,即:"#fld_name" + i
  2. 看来你要删除的一类,所以使用removeClass,而不是remove

这样:

for(var i=0;i<msg.nrofproducts;i++){ 

    $("#fld_name" + i).html(msg.productname[i]);  

    $("#product" + i).removeClass('hideElement'); //finally show product 
} 
+0

thnx所有的快速反应(!)。使用您的建议,html()现在可以正常工作,但removeClass()仍然不会 - 例如,浏览器不显示任何字段。仅供参考:我在一个简单的html表格结构中包含了一组表单字段;此外其他一些带有其他标识符(表内)的字段也使用.hideElement类。不知道这是否解释了什么? – Joppo

+0

啊,我刚刚在代码中看到一个错误,它应该是'removeClass('hideElement')',而不是'removeClass('。hideElement')'。 '.'仅用于选择器。 –

+0

你说得对,thnx! – Joppo

2

只是需要正确串接您的ID:

$("#fld_name" +i).html(msg.productname[i]);  

$("#product" +i).remove('.hideElement'); //finally show product 
+0

刚想说,织补你打我吧! – asymptoticFault

0

尝试连接

$('#product'+i).remove(...); 
0

不确定你的需要,但情况有问题。应该是:

if(x== 1) 

FIDDLE