清空复选框标签和存储在数据库中的数据

zerofill checkbox labels and data stored in DB

本文关键字:数据库 数据 存储 复选框 标签 清空      更新时间:2023-09-26

我得到的结果是MA1MA2。。。。我希望他们是MA0001MA0002。。。用于复选框标签和存储在DB中的数据。

我的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;
    ?>

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

试试这个(用几个不同的算法填充数字:

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

参考文献:

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

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

像这样尝试

<?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;
    ?>