2016-08-07 4 views
1

Ich habe die Ergebnisse als MA1, MA2 .... Ich will sie MA0001, MA0002 ... für beide Kontrollkästchen Etiketten sein, und die Daten im DB gespeichert.zerofill Checkbox Etiketten und gespeicherten Daten in DB

Meine PHP:

<?php 
     for ($i = 1; $i < 102; $i++): 

      echo '<div class="each_checkboxes">'; 

      echo '<label class="contact" for="checkbox'.$i.'"></label>'; 
      echo '<input type="checkbox" name="tape[]" id="checkbox'.$i.'" value=""/>'; 

      echo '</div>'; 

     endfor; 
    ?> 

die js:

$(document).ready(function() { 
    $('#method').change(function() { 
     var method = $('option:selected').val(), 
      text = ""; 

     if (method == "CSBSFSR20003") { 
      text = "MA"; 
     } else if (method == "CSBSAPP20029") { 
      text = "SAS"; 
     } 

     $('.contact').each(function (i) { 
      var value = text + (++i); 
      $(this).text(value); 
      $('#' + $(this).attr('for')).val(value); 
     }); 
    }); 
}); 

Antwort

0

versuchen diese (mit ein paar verschiedene Algorithmen zum Klotzen die Anzahl:

PHP:

<?php 
    function addZeros($num){ 
     if (strlen($num)==3){ 
      $num = '0' . $num; 
     }elseif (strlen($num)==2{ 
      $num = '00' . $num; 
     }elseif (strlen($num)==1{ 
      $num = '000' . $num; 
     } 
     return $num; 
    } 
    for ($i = 1; $i < 102; $i++): 
     $num = addZeros($i); 
     echo '<div class="each_checkboxes">'; 

     echo '<label class="contact" for="checkbox'.$num.'"></label>'; 
     echo '<input type="checkbox" name="tape[]" id="checkbox'.$num.'" value=""/>'; 

     echo '</div>'; 

    endfor; 
?> 

javascript:

$(document).ready(function() { 
    $('#method').change(function() { 
     var method = $('option:selected').val(), 
      text = ""; 

     if (method == "CSBSFSR20003") { 
      text = "MA"; 
     } else if (method == "CSBSAPP20029") { 
      text = "SAS"; 
     } 

     $('.contact').each(function (i) { 
      var num = addZeros(++i); 
      var value = text + num; 
      $(this).text(value); 
      $('#' + $(this).attr('for')).val(value); 
     }); 
    }); //END #method.change 
}); //END document.ready 

function addZeros(num) { 
    if (num<=9999) { num = ("000"+num).slice(-4); } 
    return num; 
} 

Referenzen:

https://stackoverflow.com/a/10073761/1447509

http://php.net/manual/en/function.strlen.php

+0

perfekt, vielen dank (y) – Xibition

0

versuchen, wie diese

<?php 
     for ($i = 1; $i < 102; $i++): 
      $ii=$i; 
      if($i<1000) 
       $ii="0".$ii; 
      if($i<100) 
       $ii="0".$ii; 
      if($i<10) 
       $ii="0".$ii; 
      echo '<div class="each_checkboxes">'; 

      echo '<label class="contact" for="checkbox'.$ii.'"></label>'; 
      echo '<input type="checkbox" name="tape[]" id="checkbox'.$ii.'" value=""/>'; 

      echo '</div>'; 

     endfor; 
    ?> 
+0

immer noch das gleiche:/ – Xibition

Verwandte Themen