36

我有一个很好的时间来设置隐藏输入的值。

我想将选项标签之间的 HTML 传递给隐藏的字段 - 运行它将来自 wordpress' 的页面标题wp_list_dropdowns()。我已经让它很好地返回了文本,并且在我的更改事件中它正确地添加了一些 css(在隐藏字段中显然不需要,但我试图确定事情在哪里发生故障)。如果我将隐藏输入更改为文本输入,则可以使用。我已经在 SO 的几个地方看到这是可能的,(更改隐藏输入的值),但是现在有些东西阻碍了我,我看不到答案。

这是JSFiddle

JavaScript:

$(".selector").change(function() {
    var $value = $(this).val();
    var $title = $(this).children('option[value='+$value+']').html();
    alert($title); 
    $('input#bacon').val($title).css('border','3px solid blue');
});

HTML:

<select class="selector" name="testselect">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>
</h3>

<input id="bacon" type="hidden" class="bacon" value="" name="testinput">
4

4 回答 4

37

这很简单:

$('#action').val("1");

#action是隐藏的输入字段id。

于 2013-09-04T07:46:50.393 回答
24

您的 jQuery 代码完美运行。隐藏字段正在更新

于 2011-03-13T12:47:33.567 回答
6

似乎工作

$(".selector").change(function() {

    var $value = $(this).val();

    var $title = $(this).children('option[value='+$value+']').html();

    $('#bacon').val($title);

});

只需检查您的萤火虫。并且不要将 css 放在隐藏的输入上。

于 2011-03-13T12:46:00.403 回答
0

如果您在 Drupal 中执行此操作并使用表单 API 将 hook_form_alter 中的 #type 从文本更改为“隐藏”(例如),请注意输出 HTML 将具有不同(或省略)的 DIV 包装器、ID 和类名字。

于 2012-01-30T06:12:57.457 回答