2009-12-11 128 views
0
function areaMe(area){ 
        var barea = $('#barea').val(); 
        if(barea.indexOf(area)!=-1){ 
         barea=barea.replace(area, ""); // remove 
        }else{ 
         barea+=area; // inlcui 
        } 
        $('#barea').val(barea); 
       } 

如果#barea输入隐藏它不工作...jQuery的改变隐藏字段

+1

隐藏如何?正如'type = hidden'?或'显示:无'?或'可见度:隐藏'? – 2009-12-11 22:12:19

+0

你怎么看到“隐藏”的价值? Firebug? – ram 2009-12-11 22:14:19

+0

其设置为'display:none' – 2009-12-11 22:17:02

回答

3

的价值对于一个隐藏的输入我总是用

var barea = $('#barea').attr('value'); 

$('#barea').attr('value',barea); 

不VAL( )。我从来没有运气以任何其他方式改变input type=hidden的价值。如果barea不是input type=hidden,那么你需要包含它的html。请注意,它必须是某种类型的输入,因为val()仅适用于输入,选择和textareas。

+0

没错。我已将输入更改为“隐藏”并删除了“display:none”,并且它工作正常。 – 2009-12-11 22:21:33

+0

这很奇怪。我有代码,我已经能够测试和更改隐藏输入的值,没有问题。 – CAbbott 2009-12-11 22:23:43

+0

@CAbbott我也是。去搞清楚... – 2009-12-11 22:46:54

0

您需要提供更多信息。我一直可以在隐藏的输入中使用val()(虽然我使用“disply:none”来测试类型=“隐藏”的意义,他们也工作)。我甚至刚刚测试过一个,并且确实可以同时使用val()的“get”和“set”形式。所以尽管.attr(“value”)可能会起作用,但它确实不需要。能否请你提供:

A)这两种形式中的哪一种对你来说是失败的(“get”或“set”形式)?

B)定义你的隐藏输入的HTML?