0

我一直在研究一段代码。我有大部分代码,但表格的实际传输让我失望。

$("#shrimpfrm").children().map(function() {
    var child = $(this);
    var value = child.val();
    var container = $("#shrimpMaster");
    var field = $("<input />");

    if (child.is(":select")) {
        $(container) 
            // THIS IS WHERE I'M LOST 

    }

    return null;
});

我需要将任何选择框的值添加#shrimpfrm#shrimpMaster. 实际上必须在其中创建文本框,#shrimpMaster我相信我设置了正确的函数,并且所有变量都到位,我只是不知道从哪里开始。任何帮助,将不胜感激。谢谢。

4

3 回答 3

1

在没有看到您的特定 HTML 并且不知道这两种形式之间的关系的情况下,我建议:

$('#shrimpfrm select').each(
    function(){
        $('<input />').val($(this).val()).appendTo($('#shrimpMaster'));
    });

JS 小提琴演示

这将找到表单中select的所有元素,使用当前值#shrimpfrm创建一个input(默认为type="text"),select然后将其附加到#shrimpMaster表单中。

为了响应对 a 所做的更改而执行此操作select

$('select').change(
    function() {
        $('#shrimpMaster input:text').remove();
        $('#shrimpfrm select')
            .each(
                function(){
                    $('<input />')
                        .val($(this).val())
                        .appendTo($('#shrimpMaster'));
                });
    });​

JS 小提琴演示

于 2012-04-12T19:28:47.923 回答
1

以下内容是否符合您的目的?

$("#shrimpfrm").children().map(function() {
    var child = $(this);
    var value = child.val();
    var container = $("#shrimpMaster");
    var field = $("<input />");

    if (child.is(":select")) {
        $(container).text(value);
            // THIS IS WHERE I'M LOST 
    }
    return null;
});
于 2012-04-12T19:30:21.083 回答
1

所以你需要为每个selectin创建一个文本框#shrimpfrm?如果是这样,您可以使用append将新元素添加到#shrimpMaster.

请参阅http://api.jquery.com/append/http://api.jquery.com/appendTo/

$('#shrimpfrm select').each(function() {
  $('#shrimpMaster').append($('<input />').val($(this).val()));
});
于 2012-04-12T19:30:41.967 回答