设置隐藏输入的值

时间:2010-07-07 17:35:53

标签: javascript jquery html forms hidden

这个想法:我通过常规Javascript或jQuery设置type =“hidden”的输入值。

问题:jQuery和document.getElementById都不会找到隐藏的输入,即使我绝对确定选择器是正确的并且没有冲突的元素。

代码: 我不能真正发布它的大部分内容,因为它充满了相当复杂的PHP,当我看到它时会让我感到困惑。

这是javascript:

$("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);

注意:选择器没有问题,“输入”是我用来引用隐藏的不同元素。

这是HTML:

<input type="hidden" name="s<?=$step_counter?>_budget_hidden" 
       id="s<?=$step_counter?>_budget_hidden" value="0" />

代码有点脱离上下文,但它更多是Javascript的一般问题,而不是语法错误。想法?

3 个答案:

答案 0 :(得分:2)

$("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);中,您在隐藏ID中的第一个下划线之前取两个字符。但是你的隐藏ID只有一个char的'

修改

好的,在编辑问题之前隐藏了<?= ?>

你是否在body onload事件后调用你的脚本? EX:

$(document).ready(function(){
    $("#" + input.id.substr(0,2) + "_budget_hidden").bind("keyPressed",function(){
        $("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);
     }
});

答案 1 :(得分:1)

FYI:我们可以使用jQuery获取隐藏的输入值,甚至我们也可以使用jQuery编辑任何隐藏的输入值。

我认为使用'substr'方法获取隐藏值的方式会导致一些问题。您正在使用substr(0, 2),因此请确保变量$step_variable是一位数字,否则您的代码将无法返回正确的结果。

我在下面给出一些示例代码,检查一次。

这是javascript:

    var input_id = $("hidden_val").attr("id").substr(1);
    $("#" + input_id + "_budget_hidden").val(budg_total);

这是HTML:

    input type="hidden" class="hidden_val" name="s_budget_hidden" id="s" value="0" 

我认为这会对你有所帮助。如果您不遵循此流程来解决您的问题,请告诉我。

答案 2 :(得分:0)

我认为input.id.substr(0,2)表示从字符串的开头开始,取两个字符并使用它。

http://www.w3schools.com/jsref/jsref_substr.asp

尝试使用Firebug查看该方法调用的结果。