2014-02-17 4 views
0

나는 Yii를 처음 사용합니다. 나는 컨트롤러로부터 값을 얻는다. 변수에 저장하고 자동 완성 기능을 수행했습니다. 변수에 경고하면 값이 표시됩니다. 그러나 실제 코드에서 자동 완성 상자는 비어 있음을 나타냅니다. 이 문제를 해결하도록 도와주세요.JavaScript를 사용하여 yii의 자동 완성

미리 감사드립니다.

내보기 :

<!--Content--> 

<div id="content"> 
    <div style="padding: 10px;"> 
     <a href="<?php echo $this->createUrl('/Nimsoft/create');?>" title="Create New Host" class="btn btn-primary circle_ok" style="text-decoration: none;" >Add New Host to Customer</a> 

    <div style="float:right"> 
         <?php 
          echo CHtml::link('Upload Customer CSV', array('/Nimsoft/uploadCustomers'), array(
          'onclick'=>'return hs.htmlExpand(this, { objectType: "iframe", wrapperClassName: "full-size", align: "center" })', 
          'class'=>'btn btn-primary', 
          'id'=>'upload_link', 
          )); 
         ?>       
        </div> 
    </div> 
    <h3><?php echo htmlspecialchars($title); ?></h3> 
    <h3><?php echo $title; ?></h3> 


    <div class="innerLR"> 
     <div class="row-fluid"> 
<?php 

$obj=$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider, 


    //'afterAjaxUpdate'=>'\'changeTRColor()\'', 
    //'itemView'=>'_view', 
    'columns'=>array(

       array(   // display 'create_time' using an expression 
          'name'=>'name', 
              'value'=>'$data->host_name', 
       ), 
       array(
          'name'=>'serviceId', 
          'value'=>'$data->host_serviceid', 
       ), 

       array(
              'name'=>'customer', 
              'value'=>'$data->customers->cust_name', 
       ), 
       array(
            'class'=>'CButtonColumn', 
            'template'=>'{delete}{update}',) 



), 
)); 
$customer_names = array(); 

foreach ($user as $row) { 
    $customer_names[] = array_values($row); 
} 

json_encode($customer_names); 

?> 

     </div> 

<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>jQuery UI Autocomplete - Default functionality</title> 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> 
    <script src="//code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
    <link rel="stylesheet" href="/resources/demos/style.css"> 
    <script type="text/javascript"> 
//autocomplete 
    $(function() { 
    var availableTags =<?php echo json_encode($customer_names);?>; 

     /*"ActionScript", 
     "AppleScript", 
     "Asp", 
     "BASIC", 
     "C", 
     "C++", 
     "Clojure", 
     "COBOL", 
     "ColdFusion", 
     "Erlang", 
     "Fortran", 
     "Groovy", 
     "Haskell", 
     "Java", 
     "JavaScript", 
     "Lisp", 
     "Perl", 
     "PHP", 
     "Python", 
     "Ruby", 
     "Scala", 
     "Scheme"*/ 
    alert(availableTags); 

    $("#Search").autocomplete({ 
     source: availableTags 
    }); 
    }); 
    </script> 
</head> 
<body> 

<div class="ui-widget"> 
    <label for="Search">Search Customer: </label> 
    <input id="Search"> 
</div> 


</body> 
</html> 

     <div class="separator bottom"></div> 
    </div> 
</div> 
<!-- // Content END --> 
<div class="clearfix"></div> 
<!-- // Sidebar menu & content wrapper END --> 

<div id="footer" class="hidden-print"> 
<?php $this->renderPartial('application.views.layouts._footer_inc'); ?> 
</div> 
+0

할 수있는이에 사람 업데이트 – user3318138

+0

당신은 JS의 오류를 얻고있다하십시오 콘솔? 변수의 –

+0

에는 모든 배열 요소가 있지만 내 제안 상자에는 빈 칸이 표시됩니다. – user3318138

답변

0

가, JS 배열에 JSON 변환 코드에서 코드 아래에 시도하는

availableTags = $.parseJSON(availableTags); 
+0

의미 : availableTags = $ .parseJSON ($ customer_names); ??????? – user3318138

+0

번호. js 스크립트에서이 작업을 수행해야합니다. –