2011-04-25 2 views
0

같은 옵션과 다른 이름을 가진 선택 상자를 어떻게 추가 할 수 있습니까? 내 PHP는 SQL 테이블을 읽는 루프를 가지고 있고, 각 행에 대해,이 함수를 추가하는 것입니다같은 옵션이지만 다른 이름을 가진 선택 상자를 추가하십시오.

a 옵션 태그 생성 :

:

$(function(){ 
    $('#add').click(function(){ 
     var select = $('span[id=combo]').html(); 
     $('#allCombo').append('<br/><span id="combo">'+select+'</span>'); 
    }); 
}); 

이 선택 상자입니다

<span id="allCombo"> 
       <span id="combo" name="combo"> 
        <select name="item"> 
         <?php foreach ($items as $item) { ?> 
          <option value="<?php echo $item->item_id; ?>"> 
          <?php echo $item->item_name; ?></option> 
         <?php } ?> 
        </select> 
       </span> 
</span> 

아무도 도와 줄 수 있습니까? 덕분에 전에 . 이름

var new_combo $('span#combo').clone(); 
new_combo.attr('name', 'second_combo'); 
new_combo.attr('id', 'second_combo'); // for valid html 
$('#allCombo').append(new_combo); 

답변

0

사용 item[] :

+0

감사의 helpfull –

+0

하지 마십시오 나는 다른이 문제가 나를 도와주세요 http://stackoverflow.com/questions/5789219/showing-a-combo-box-by-change-value-of-another-combo-box –

1
$(function(){ 
    $('#add').click(function(){ 
     var select = $('#combo').html(); 
     $('<br/><span id="combo">'+select+'</span>').appendTo('#allCombo').find.('select').attr('name', 'uniqueName'); 
    }); 
}); 
+0

하나는,'' – mattsven

+1

중복 ID를 호출 ... –

0
var newSelect = $('select[name=item]').clone().attr('name', 'newselect'); 
$('#allCombo').append(newSelect); 
0

당신은 항상 복제 방법을 사용할 수 있습니다. PHP는이를 배열로 변환하므로 선택된 값은 $_POST['item']에 저장된 배열에 있습니다.

하지만 더 중요한 것은 ID를 중복하지 않는 것입니다. 난 당신이 중복 ID를 가질 수 없습니다 및

  • span 태그가

    1. 로 완전히 내부 span를 제거하는 것이 좋습니다 아니오 name 속성

    그래서이 태그를 유지 할 필요가 없습니다.

    <span id="allCombo"> 
        <select name="item[]"> 
         <?php foreach ($items as $item): ?> 
          <option value="<?php echo $item->item_id; ?>"> 
           <?php echo $item->item_name; ?> 
          </option> 
         <?php endforeach; ?> 
        </select> 
    </span> 
    

    JS 코드는 다음과 같습니다

    $(function(){ 
        $('#add').click(function(){ 
         $('#allCombo') 
          .append('<br />') 
          .append($('#allCombo select').first().clone()); 
        }); 
    }); 
    
  • 관련 문제