Установка значения скрытого ввода - PullRequest
1 голос
/ 07 июля 2010

Идея: я устанавливаю значение ввода с type = "hidden" через обычный Javascript или jQuery.

Проблема: ни jQuery, ни document.getElementById не найдут скрытый ввод, хотяЯ абсолютно уверен, что селектор правильный и нет конфликтующих элементов.

Код: я не могу опубликовать большую часть его, потому что он полон довольно сложного PHP, который смущает меня, когда я просто смотрю наit.

Вот javascript:

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

Примечание: нет ничего плохого в селекторе , а "input" - это другой элемент, который я используюдля ссылки на скрытое.

Вот HTML-код:

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

Код является своего рода вне контекста, но это скорее общая проблема с Javascript, чем синтаксическая ошибка.Мысли?

Ответы [ 3 ]

2 голосов
/ 07 июля 2010

В $("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total); вы берете два символа перед первым подчеркиванием в вашем скрытом идентификаторе. Однако у вашего скрытого идентификатора есть только один символ '

EDIT

Хорошо, <?= ?> было скрыто до редактирования вопроса.

Вы вызываете свой скрипт после события onload тела? Пример:

$(document).ready(function(){
    $("#" + input.id.substr(0,2) + "_budget_hidden").bind("keyPressed",function(){
        $("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);
     }
});
1 голос
/ 07 июля 2010

К вашему сведению: Мы можем получить скрытое значение ввода, используя 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" 

Я думаю, это поможет вам. Дайте мне знать, если вы не следуете этому потоку, чтобы решить вашу проблему.

0 голосов
/ 07 июля 2010

Я думаю, что input.id.substr (0,2) говорит, что нужно начинать с начала строки, взять 2 символа и использовать это.

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

Попробуйте использовать Firebug, чтобы увидеть, каков результат этого вызова метода.

...