2016-04-22 22 views
1

私はいくつかの係数が格納されているオブジェクトを持っています。symfonyオブジェクトの値を持つ範囲スライダ

私はこの

リポジトリのように私の係数を取得:

public function findVal() 
{ 
    $query = $this->createQueryBuilder('v') 
        ->select('v.coef') 
        ->getQuery(); 

    $result = $query->getResult(); 


    //$ids = array_column($result, "coef"); 
    return $result; 
} 

コントローラー:

public function bienAction(Request $request) 
{ 
    $em = $this->getDoctrine()->getManager(); 
    $devis = new Devis(); 

    $bien = new Bien(); 
    $formBien = $this->createForm(BienType::class, $bien); 

    $valeur = $em->getRepository('ListeBundle:ValeurReconstruction')->findVal(); 

    //dump($valeur); 

    //$jsonVal = json_encode($valeur); 

    //dump(json_encode($valeur)); 

    $formBien->handleRequest($request); 

    if ($formBien->isValid() && $formBien->isSubmitted()) { 
     ... 
    } 

    return $this->render('DevisBundle:Devis:bien.html.twig', array(
     'formBien' => $formBien->createView(), 'valeur' => $valeur 
    )); 
} 

は今、私はのためのJSの配列を必要とするので、私の範囲スライダでこれらのCOEFを使用したいがこの。

$(function() { 
var valMap = [0, 40.2, 50, 63, 90, 110, 125, 140, 160, 225, 250, ]; 
$("#slider-range").slider({ 
    min: 1, 
    max: valMap.length - 1, 
    value: 0, 
    slide: function(event, ui) { 
     $("#amount").val(valMap[ui.value]); 
    } 
}); 

});

しかし、私はインターネット上で正しい答えを見つけることができないようです。そして、私はsymfonyでRangeTypeを使うだけでこれを行うことができますか?

答えて

1

これを行う簡単な方法は、<script>をTwigテンプレートの中に追加することです。

<script> 
    window.valMap = [{{ valeur|join(',') }}]; 
</script> 

次に、window.valMapをスクリプト内で使用してください。

関連する問題