Задать значение скрытого поля в форме с помощью jQuery ".val ()" не работает - PullRequest
180 голосов
/ 05 июня 2010

Я пытался установить значение скрытого поля в форме, используя jQuery, но безуспешно.

Вот пример кода, который объясняет проблему. Если я оставлю тип ввода «текст», он будет работать без проблем. Но изменение типа ввода на «скрытый» не работает!

<html>

    <head>
        <script type="text/javascript" src="jquery.js">
        </script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("button").click(function() {
                    $("input:text#texens").val("tinkumaster");
                });
            });
        </script>
    </head>

    <body>
        <p>
            Name:
            <input type="hidden" id="texens" name="user" value="texens" />
        </p>
        <button>
            Change value for the text field
        </button>
    </body>

</html>

Я также попробовал следующий обходной путь, установив тип ввода «text», а затем используя стиль «display: none» для поля ввода. Но это также не удается! Кажется, у jQuery есть некоторые проблемы при настройке скрытых или невидимых полей ввода.

Есть идеи? Есть ли обходной путь для этого, который действительно работает?

Ответы [ 15 ]

1 голос
/ 24 октября 2012

Другой гуча здесь потратил впустую часть моего времени, поэтому я думал, что передам совет. У меня было скрытое поле, я дал идентификатор, который имел. и [] скобки в имени (из-за использования с struts2) и селектор $("#model.thefield[0]") не найдет мое скрытое поле. Переименование идентификатора, чтобы не использовать точки и скобки, заставило селектор начать работать. Так что в итоге я получил идентификатор model_the_field_0, и селектор работал нормально.

0 голосов
/ 19 августа 2016

У всех, кто борется с этим, есть очень простой «встроенный» способ сделать это с помощью jQuery:

<input type="search" placeholder="Search" value="" maxlength="256" id="q" name="q" style="width: 300px;" onChange="$('#ADSearch').attr('value', $('#q').attr('value'))"><input type="hidden" name="ADSearch" id="ADSearch" value="">

Устанавливает значение скрытого поля, когда текст вводится в видимый ввод с помощью события onChange. Полезно (как в моем случае), когда вы хотите передать значение поля в форму «Расширенный поиск» и не заставлять пользователя повторно вводить свой поисковый запрос.

0 голосов
/ 07 августа 2016

Просто используйте синтаксис ниже получить и установить

GET

//Script 
var a = $("#selectIndex").val();

здесь переменная будет содержать значение скрытого поля (selectindex)

Серверная часть

<asp:HiddenField ID="selectIndex" runat="server" Value="0" />

SET

var a =10;
$("#selectIndex").val(a);
0 голосов
/ 17 ноября 2015

Используя ID:

$('input:hidden#texens').val('tinkumaster');

Используя класс:

$('input:hidden.many_texens').val('tinkumaster');
0 голосов
/ 09 ноября 2015
<javascript>


slots=''; hidden=''; basket = 0;

    cost_per_slot = $("#cost_per_slot").val();
    //cost_per_slot = parseFloat(cost_per_slot).toFixed(2)

    for (i=0; i< check_array.length; i++) {
        slots += check_array[i] + '\r\n';
        hidden += check_array[i].substring(0, 8) + '|';
        basket = (basket + parseFloat(cost_per_slot));
    }

    // Populate the Selected Slots section
    $("#selected_slots").html(slots);

    // Update hidden slots_booked form element with booked slots
    $("#slots_booked").val(hidden);     

    // Update basket total box
    basket = basket.toFixed(2);
    $("#total").html(basket);

...