2012-04-12 2 views
0

저는 지금 약간의 코드를 작성하고 있습니다. 나는 많은 코드를 가지고 있지만 폼의 실제 전송은 나를 버리고있다.Form to Form 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; 
}); 

나는 #shrimpMaster에서 텍스트 상자에 #shrimpfrm에있는 선택 상자의 값을 추가해야합니다. 텍스트 상자는 실제로 #shrimpMaster에서 만들어야합니다. 적절한 함수가 설정되어 있고 모든 변수가 제 위치에 있다고 믿습니다. 여기서부터 어디로 가야할지 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다. . 특정 HTML을 보지 않고

답변

1

, 두 형태 사이의 관계를 모른 채, 나는 좋을 것 :

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

JS Fiddle demo합니다.

이 작성한 상기 #shrimpfrm 형태 select 내의 모든 요소를 ​​찾는 것이다 input 후 현재 select의 값과 (type="text" 디폴트가 있음) #shrimpMaster 형태 것을 추가.

select에 만들어진 변화에 대한 응답으로이 작업을 수행하려면

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

JS Fiddle demo합니다.

+0

http://api.jquery.com/appendTo/는 당신에게 어떤 선생님 감사합니다! –

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; 
}); 
1

그래서 당신은 #shrimpfrm의 각 select에 대한 텍스트 상자를 만들 필요가? 그렇다면 append을 사용하여 #shrimpMaster에 새 요소를 추가 할 수 있습니다.

참조 http://api.jquery.com/append/ 또는

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