更改输入值[未反映在HTML中]

时间:2011-09-06 14:50:05

标签: jquery

我正在尝试在选中/取消选中时更改复选框的输入值。似乎值已更改(我通过alert()调试它)但未反映在html中。这很麻烦,因为我想从html中提取值并将其保存在数据库中。

                $(document).ready(function(){
                    $("#box:checked").live('click', function(e) {
                        $("#box").val('1');                          
                    });

                    $("#box:not(:checked)").live('click', function(e) {
                        $("#box").val('0');                            
                    });    
                 });

    ... 

      <input id="box" type="checkbox" value="">

    ...

我一直试图解决这个问题几个小时。我遇到了一个有同样问题的人,但是解决方法很笨拙。

感谢您的帮助

3 个答案:

答案 0 :(得分:3)

您需要使用attr才能将其反映在HTML中。

$("#box").attr("checked", "checked");

http://jsfiddle.net/Xeon06/BwGeX/

答案 1 :(得分:1)

<input id="box" type="checkbox" value=""> - “value”表示浏览器呈现的加载时间html。

在DOM检查器中不更新Form元素的运行时值

复选框的“已检查”值与“值”属性无关,但可以对其进行操作以反映不同的值。

您可以获取复选框值$("#box").is(':checked'),这将返回true / false

答案 2 :(得分:1)

我必须使用

$("#box").attr('value', '1');

在最近的一个项目中。出于某种原因,.val('1')无效。