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を確認せずに、また2つのフォームの関係を知らずに、次のことをお勧めします。

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

JSフィドルデモ

これにより、フォームselect内のすべての要素が検索され、現在の値を使用して(デフォルトで)が作成され、それがフォームに追加されます。#shrimpfrminputtype="text"select#shrimpMaster

に加えられた変更に応じてこれを行うには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

したがって、 ?のそれぞれselectにテキストボックスを作成する必要があります。#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 に答える