2012-04-12 15 views
0

Ich habe jetzt ein Stück Code für ein bisschen gearbeitet. Ich habe den Großteil des Codes, aber die tatsächliche Übertragung von Formularen wirft mich ab.Formular zu Formular jQuery

$("#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; 
}); 

Ich brauche den Wert einer Auswahlbox in #shrimpfrm zu einem Textfeld in #shrimpMaster hinzuzufügen. Die Textfelder müssen tatsächlich in #shrimpMaster erstellt werden. Ich glaube, ich habe die richtige Funktion festgelegt, und alle Variablen an Ort und Stelle, ich weiß nur nicht, wo ich von hier aus gehen soll. Jede Hilfe wäre willkommen. Danke.

Antwort

1

Ohne Ihre spezifische HTML zu sehen, und ohne die Beziehung zwischen den beiden Formen zu wissen, würde ich vorschlagen:

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

JS Fiddle demo. Diese finden alle select Elemente innerhalb der #shrimpfrm Form

, erstellen eine input (die standardmäßig type="text") mit dem Wert aus dem aktuellen select und dann, dass an die #shrimpMaster Form anhängen.

dies zu einer Änderung an einem select gemacht als Reaktion zu tun:

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

JS Fiddle demo.

+0

Danke lieber Herr! –

1

Erfüllt das Folgende Ihren Zweck?

$("#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; 
}); 
1

Sie müssen also für jede select in #shrimpfrm ein Textfeld erstellen? Wenn ja, können Sie append verwenden, um neue Elemente zu #shrimpMaster hinzuzufügen.

Siehe http://api.jquery.com/append/ oder http://api.jquery.com/appendTo/

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