0

idタグとして配列を持たなければならない入力を持つこのスライダーがある場合、スライダーを初期化してビルドするスクリプトでタグを呼び出すにはどうすればよいですか?このコードは、入力が配列ではない場合に機能しますが、「量」が配列である必要があります。

/////////////////////SLIDER !!!!!!!!!!!!!!!!!!!!!!!!!!! 

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   < script>

    var valueslider= "<?= $AnswerValue ?>";
    var mysliderdef= valueslider.split(";");
          var len = mysliderdef.length-1;
                    var i =0;
                        var qid="<?= $QuestionID ?>";
                    var answerid="<?= $AnswerID?>";
                    **$( "#amount"+qid).**val( mysliderdef[0]);//<-My tag name problem

                    $( "#slider" ).slider({ 
                    min: 1,
                    max: mysliderdef.length,                                        
                    slide: function( event, ui ) {

                    **$( "#amount"+qid).**val( mysliderdef[ui.value-1]); //<- My tag name problem                       
                                            }//end slide event
                                            });//end slider ini method builder


                });// end JavaScript document function  

< /script>


    <!--SLIDER-->   
        <?php if($row_questionset['Constructor']=="Slider"){?>

<input type = "text" id = "amount <?= $ row_Answer ['QuestionIDFK'] ;?> []" name = "amount []" />

    < div id="slider" name="<?php echo $row_Answer['AnswerValue']; ?>" >< /div>
                                            <?php }  ?>     

                                            <?php }  ?> 
                        <!--/SLIDER-->  

で試してみました

$( "#amount"+qid+[]).val( mysliderdef[ui.value-1]); 

$( "#amount"+qid[]).val( mysliderdef[ui.value-1]); 

 var qid="<?= $QuestionID ?>"[];
$( "#amount"+qid).val( mysliderdef[ui.value-1]); 

この構文をどのように書く必要がありますか?

4

1 に答える 1

0

JavaScriptとPHPを混在させないでください。これに夢中になるでしょう。ロジックのどの部分がいつ実行されるかは、決してわかりません。

あなたの問題は、ループ内の多くの段落とスライダーdivをエコーすることです。要素に指定するIDは、ドキュメント全体で一意である必要があることに注意してください。入力IDをカウンター値で正しく修正しました:( 、btwをid="amount<?= $row_Answer['QuestionIDFK'];?>[]"省略)が、では修正しませんでした。そこでも質問IDを使用してください。[]id="slider"

今のところ同様のものを使用してくださいanswervalue。JSコードの途中で質問IDと回答IDを直接出力しないでください。ただし、JSON構成オブジェクトで1回だけ出力してください(を使用json_encode)。この構成オブジェクトには、questionid順に並べられた必要なすべての値が含まれている必要があります。そのオブジェクトを。でループし$.each、スライダー(一意のIDを持つもの)をそれぞれの値で初期化します。

于 2012-12-14T14:13:47.020 に答える