2

我需要一种在包含该字段集图例值的字段集中添加隐藏字段的方法。

我能够在每个字段集图例之后添加输入字段,但我无法将字段集的值传递给隐藏字段的值。

这是我到目前为止所拥有的:

<script type="text/javascript">
var theLegend = $('legend');  
    $('<input type="hidden"name="hiddenList[]" value="' + theLegend.val() + '">').insertAfter('legend');
</script>

总的来说,我想要实现的是让字段集图例的值传递到数据库中。我需要隐藏字段位于它们各自的字段集中。表单是使用 CMS 中的表单构建器构建的,我无法“破解”表单构建器的代码,所以我需要一种使用 jquery/javascript 的方法,而且我几乎是 jquery 新手。 .

4

2 回答 2

3

我建议如下:

$('legend').each(
    function(i,e){
        var that = $(e),
            parent = that.closest('fieldset'),
            text = that.text();
        $('<input />', {'type' : 'hidden', 'name' : 'hiddenList[]', 'value' : text})
            .appendTo(parent);
    });

JS 小提琴演示

要查看输出,请右键单击并在legend文本上“检查元素”。

您遇到的问题之一是您val()用于检索元素的文本(只有input, 和textarea元素有value/ val()),而text()在这种情况下是您想要的。

于 2012-10-29T21:16:10.273 回答
3

选择图例后,使用 .text() 方法而不是 .val()

theLegend.text()

于 2012-10-29T21:19:29.497 回答