php - javascript、php 和 html 上的 slider 动态

标签 php javascript jquery html slider

我有这段代码用于创建动态数量的 slider ,每个 slider 有动态数量的答案,但我无法理解代码中的两件事:

  1. 为什么只显示一个 slider ? (我的sql表上的第一个id slider 编号)

  2. 为什么金额框中只出现正确的ini值?当您移动 slider 时,会出现 A r r a y(每次移动 slider 时出现一个字符)?

    <script>            
        var arrayslidersvalueanswers="<?= $tableslidersanswervalues ?>";                
        <?php foreach ($tableslidersqid as $qid) { ?>
          <?php foreach ($qid as $index) { ?>               
            <?php echo $index;?>                    
            <?php foreach ($tableslidersanswersid as $qanswerid) { ?>
              <?php foreach ($qanswerid as $indexanswer) { ?>
    
        var answers="<?= $qanswerid ?>";                    
        var qid= "<?= $index ?>";
    
    
        jQuery(document).ready(function(){          
    
            /////////////////////SLIDER !!!!!!!!!!!!!!!!!!!!!!!!!!!
            var valor="<?= $tableslidersanswervalues[1][0] ?>"; // Ini slider
    
            $(document.getElementById("amount"+qid+"[]")).val(valor);
    
            $(document.getElementById("slider"+qid+"[]")).slider({ 
                                   min: 1,
                                   max:arrayslidersvalueanswers.length,
    
                                   slide: function( event, ui) {
                                       var ans=answers[0][1] ;
                                       $(document.getElementById("amount"+qid+"[]")).val(answers[ui.value-1][0]);
    
                                       } //end slider ini method builder
    
                 });//END OF FUNCTION
               });
            });// end JavaScript document function
    
                <?php } ?>
              <?php } ?>
             <?php } ?>
          <?php } ?>
    
    </script>
    
    <html>
        <p>
        <label for="amount< ?= $row_Answer['QuestionIDFK'];?>">< ?php echo $row_questionset['QuestionValue']; ?>< /label>
        <input type="text" id="amount< ?= $row_Answer['QuestionIDFK'];?>[]" name="amount< ?= $row_Answer['QuestionIDFK'];?>[]"  />
        </p>                   
        <div id="slider< ?= $row_Answer['QuestionIDFK'];?>[]" name="slider< ?php echo $row_Answer['AnswerValue']; ?>[]" >< /div>
    </html>
    

最佳答案

您的 HTML 中只有一个 slider 。

我认为你的 foreach 循环应该遍历你的 HTML 以生成更多的标记和 slider 。然后,您可以使用 jquery 中的通用选择器来使所有 slider 正常工作。

$("div[id^='slider']").slider(...

将选择 id 以“slider”开头的所有 div。

代码的结构方式应该是:

<script>
  $(("div[id^='slider']").slider(//slider configuration here);
</script>

<html>
  <?php foreach($allTableValues as $table): ?>
    <label>...
    <input>....
    <slider id="slider_<?php echo $table->id ?>">...
  <?php endforeach; ?>
</html>

关于php - javascript、php 和 html 上的 slider 动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13930345/

相关文章:

php - 如何更新 jQuery DatePicker 的 minDate 值?

php - 如何从 PHP 中的许多表(来自 mysql)中删除 1 个选定行?

php - 范围内均匀分布的整数

javascript - 我怎样才能让CSS上的过渡工作复选框

javascript - 如何停止自定义钩子(Hook)和学生组件不必要的重新渲染?

javascript - 无法获取 Uint8Array 字节

javascript - 带有 if/else 语句的 jQuery 函数(滚动到 anchor )不起作用

php - CakePHP - 从表中检索最常出现的值

javascript - Symfony 3 序列化器问题

jquery - django admin - 如何在文件末尾添加 javascript