2012-12-18 20 views
1

動態我有這樣的代碼創建一個滑塊答案的動態多個滑塊的動態數量,我不明白我的代碼的兩件事情:滑動條上的JavaScript PHP和HTML

  1. 爲什麼只顯示一個滑塊? (我的sql表上的第一個id滑塊號)

  2. 爲什麼在數量框中只顯示正確的ini值?當你移動滑塊出現A r r a y(每次你移動滑塊一個字符)?

    <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> 
    
+0

'VAR arrayslidersvalueanswers = 「<= $ tableslidersanswervalues?>」;'的'VAR arrayslidersvalueanswers =取代「<=回聲$ tableslidersanswervalues?> 「;等等.. –

+0

這是行不通的。另一方面,當你使用初始化var時,echo和<?=是相同的。 – user1901142

回答

0

你只需要在你的HTML一個滑塊。

我認爲你的foreach循環應該通過你的HTML來生成更多的標記和滑塊。然後你可以在jQuery中使用一個通用選擇器來獲得所有的滑塊。

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

將選擇所有具有以「滑塊」開頭的id的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> 
+0

我沒有將這個循環添加到這段代碼中,只是爲了我的代碼,但是我做了那個循環。因爲這個原因,它很奇怪,只有一個滑塊。 – user1901142

+0

@ user1901142您生成的html中是否有多個'sliderXXX'? – jaudette