如何让JavaScript动态化?

时间:2017-08-12 06:33:43

标签: javascript php loops

我想在循环中检查document.getElementById("b")。是否可能?我怎样才能实现呢?

<img class="img-responsive pic" id="picture" src="images/step1.png">
 <?php
                    //get rows query
                    $query = $db->query("SELECT * FROM `template_design` WHERE `panel` = 'front'");    

                    if($query->num_rows > 0){ 
                        while($row = $query->fetch_assoc()){
                         $im_id = $row['id'];
                         $images = "images/" .$row['image']. "";                           
                    ?>
                 <div class="col-md-4 col-sm-4 wel-grid wow fadeInDown">
                    <div class="wel11">
                        <input type="radio" id="<?php echo 'radio_'.$im_id; ?>" name="front" onClick="changeSrc(<?php echo  $im_id; ?>)">
                       <label  for="<?php echo 'radio_'.$im_id; ?>"  style="font-size:12px; cursor: pointer;">
                       <img  id="<?php echo 'picture_'.$im_id; ?>" style="border: 1px solid #ccc;" class="img-responsive" src="<?php echo $images; ?>"></label>
                    </div>
                 </div>
             <?php } } ?>

     <script type="text/javascript">
     function changeSrc(id) {
        if (document.getElementById("radio_"+id).checked) {
     document.getElementById("picture_"+id).src = "images/Ppicture3.png";
        }
}
    </script>

我想在循环中重复它,因为fradio0即$ front将递增,JavaScript也会在循环中重复以匹配每个。

2 个答案:

答案 0 :(得分:2)

您可以使用您的ID传递参数,例如:

 <input type="radio" id="<?php echo 'radio_'.$im_id; ?>" name="<?php echo $fname; ?>" onClick="changeSrc(<?php echo  $im_id; ?>)">

并在像

这样的脚本上使用它
  <script type="text/javascript">
     function changeSrc(id) {
        if (document.getElementById("radio_"+id).checked) {

        }
     }
    </script>

答案 1 :(得分:0)

请试试这个。将无线电ID传递为attr id&amp;按相应的ID保存每个图像,然后是各自的id.png。同时从html代码中删除onclick函数。

<script type="text/javascript">
  $("input:radio[name=front]").click(function() {
    var id= $(this).attr('id');
    document.getElementById("picture").src = "panel/front/" + id + ".png";
    });
</script>