2013-07-15 3 views
0

먼저 newbee를 작성하십시오. 나는 콤보 박스를 복제하려고 애를 썼다. 나는 문답이 맞습니까? 본질적으로 내가하려고하는 것은 여러 필드를 채우는 드롭 다운을 가졌고 추가 버튼을 눌러 다시 한 번 해보는 것입니다. 필드의 첫 번째 행을 채울 수 있지만 복제 후 아무것도 채울 수 없습니다. 도움? 미리 감사드립니다.드롭 다운에서 자동 채워진 텍스트 필드 복제

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ 
ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript" src="js/reCopy.js"></script> 
<script type="text/javascript"> 
$(function(){ 
var removeLink = ' <a class="remove" href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return false">remove</a>'; 

$('a.add').relCopy({ append: removeLink}); 
}); 
</script> 
<script type="text/javascript"> 
    var compInfoArray = new Array(); 

    <?php 
     $query1 = "SELECT * FROM bha_product ORDER BY product"; 
     $result1 = mysql_query($query1) or die(mysql_error()); 

     // build javascript array 
     while($row1=mysql_fetch_array($result1)){ 
      echo 'compInfoArray['.$row1['productid'].'] = new Array();'; 
      echo 'compInfoArray['.$row1['productid'].']["product"] = "'.$row1['product'].'";'; 
      echo 'compInfoArray['.$row1['productid'].']["description"] = "'.$row1['description'].'";'; 
         echo 'compInfoArray['.$row1['productid'].']["price"] = "'.$row1['price'].'";'; 
     } 
    ?> 

    function showname() { 
     var productid = document.form1.productid.value; 
     document.form1.product.value = compInfoArray[productid]["product"]; 
     document.form1.description.value = compInfoArray[productid]["description"]; 
     document.form1.price.value = compInfoArray[productid]["price"]; 
    } 

    window.onload=function() { 
     showname(); 
    } 

</script> 
</head> 
<body> 
    <form name="form1"> 
    <p class="clone"> 
      <select name="productid" onchange="showname()"> 
     <option value="">Select Product</option> 
     <?php 
      $query1 = "SELECT * FROM bha_product ORDER BY product"; 
      $result1 = mysql_query($query1) or die(mysql_error()); 

      // build javascript array 
      while($row1=mysql_fetch_array($result1)){ 
       echo '<option value="'.$row1['productid'].'">'.$row1['product'].'</option>'; 
      } 
     ?> 
     </select> 
     <label> 
      <input type="text" name="product" value="" /> 
      <input type="text" name="description" value="" /> 
      <input type="text" name="price" value="" /> 


     </label></p><p><a href="#" class="add" rel=".clone">Add More</a></p> 
<input type="submit" value=" Submit " /> 
    <br>  


    <input name="submit" type="submit" id="submit" value="Add" /> 
    </form> 
</body> 
</html> 

답변

0

우아하지 않지만 작동합니다.

<html> 
    <head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ 
    ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript" src="js/reCopy.js"></script> 
    <script type="text/javascript"> 
    $(function(){ 
    var removeLink = ' <a class="remove" href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return false">remove</a>'; 

    $('a.add').relCopy({ append: removeLink}); 
    }); 
    </script> 
    <script type="text/javascript"> 
     var compInfoArray = new Array(); 
     <?php 
      $query1 = "SELECT * FROM bha_product ORDER BY product"; 
      $result1 = mysql_query($query1) or die(mysql_error()); 

      // build javascript array 
      while($row1=mysql_fetch_array($result1)){ 
       echo 'compInfoArray['.$row1['productid'].'] = new Array();'; 
       echo 'compInfoArray['.$row1['productid'].']["product"] = "'.$row1['product'].'";'; 
       echo 'compInfoArray['.$row1['productid'].']["description"] = "'.$row1['description'].'";'; 
       echo 'compInfoArray['.$row1['productid'].']["price"] = "'.$row1['price'].'";'; 
      } 
     ?> 

     function showname(place) { 
      var productid = $(place).val(); 
      $(place).next().children('input[name="product"]').val(compInfoArray[productid]["product"]); 
      $(place).next().children('input[name="description"]').val(compInfoArray[productid]["description"]); 
      $(place).next().children('input[name="price"]').val(compInfoArray[productid]["price"]); 
     } 
     var i = 1; 
     function clone(){ 
      $(".exemple_for_clone").clone().removeClass("exemple_for_clone").addClass("clone" + (i + 1)).appendTo("#clone_input_place"); 
      i++; 
     } 
    </script> 
    </head> 
    <body> 
     <form name="form1"> 
     <div style="display: none;"> 
      <p class="exemple_for_clone"> 
       <select name="productid" onchange="showname(this)"> 
       <option value="">Select Product</option> 
       <?php 
        $query1 = "SELECT * FROM bha_product ORDER BY product"; 
        $result1 = mysql_query($query1) or die(mysql_error()); 

        // build javascript array 
        while($row1=mysql_fetch_array($result1)){ 
         echo '<option value="'.$row1['productid'].'">' . $row1['product'] . '</option>'; 
        } 
       ?> 
       </select> 
       <label> 
        <input type="text" name="product" value="" /> 
        <input type="text" name="description" value="" /> 
        <input type="text" name="price" value="" /> 
       </label> 
      </p> 
     </div> 
     <p class="clone0"> 
      <select name="productid" onchange="showname(this)"> 
      <option value="">Select Product</option> 
      <?php 
       $query1 = "SELECT * FROM bha_product ORDER BY product"; 
       $result1 = mysql_query($query1) or die(mysql_error()); 

       // build javascript array 
       while($row1=mysql_fetch_array($result1)){ 
        echo '<option value="'.$row1['productid'].'">' . $row1['product'] . '</option>'; 
       } 
      ?> 
      </select> 
      <label> 
       <input type="text" name="product" value="" /> 
       <input type="text" name="description" value="" /> 
       <input type="text" name="price" value="" /> 
      </label> 
     </p> 
     <p id="clone_input_place"></p> 
     <p><a href="#" class="add" rel=".clone" onclick="clone()">Add More</a></p> 
    <input type="submit" value=" Submit " /> 
     <br>  


     <input name="submit" type="submit" id="submit" value="Add" /> 
     </form> 
    </body> 
    </html> 
+0

굉장한 답변 주셔서 감사합니다. 나는 그것을 밖으로 시도 할 것이다. 마지막으로 코딩 작업을하면서 90 년대 중반에 돌아 왔습니다. 맙소사, 나는 오래되었다. –

+0

복제가 아니고 첫 번째 콤보 박스가 채워지지 않기 때문에 나는 틀린 일을해야합니다. –

+0

다른 방법으로이 작업을 수행 할 수 있습니까? 내가 정말로해야 할 일은 새로운 콤보 박스를 복제하거나 적어도 적절한 튜토리얼로 안내하는 것입니다. 나는 온통 쳐다 보았고 놈의 것을 발견 할 수 없다. –

관련 문제