2011-08-11 26 views
0

以下是純HTML代碼正在工作,並且希望將其移至Yii框架。Yii - 將html文件數據加載到使用jquery的下拉列表中

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head id="Head1"> 
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 

      <script language="javascript" type="text/javascript"> 
      $(function() { 
       $.get("dist_list.html", 
        function(dist){ 
        $("#sourceModels").html(dist); 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <select id="sourceModels" size="20" ></select> 
    </body> 
</html> 
在上面的代碼

我打電話dist_list.html這是簡單的列表

<option value='1'>AAA</option> 
<option value='2'>BBB</option> 
<option value='3'>CCC</option> 
<option value='4'>DDD</option> 
<option value='5'>EEE</option> 
<option value='6'>FFF</option> 

推動這一工作Yii框架,讓我感動的Java腳本代碼.js文件和dist_list.html複製到/組件/ JS文件夾(兩者的.js和HTML在同一文件夾)

鑑於我打電話註冊使用

腳本
Yii::app()->clientScript->registerScriptFile(
    Yii::app()->assetManager->publish(
     Yii::getPathOfAlias('application.components').'/js/models.js' 
    ), 
    CClientScript::POS_END 
); 

這是工作正常。我甚至把一些警告語句Java腳本

,並使用選中此下面的下拉列表中的代碼

<?php echo CHtml::dropDownList("sourceModels", '',array(),array('class'=>'mandal','size'=>20));?> 

但是下拉框中沒有得到從HTML文件這是越來越從Java腳本調用的選項。調用java腳本時,我嘗試了幾條路徑。

有人能幫我解決嗎?

我使用HTML只是爲了加載選項(這些選項是固定的,即使有更改最多一次..兩次),而不是數據庫來保存數據庫調用。 任何你可以建議的最佳方法? (不想他們在模型複製...)

謝謝

問候

基蘭

+0

好像你正在擊敗Yii的MVC結構,所以如果你不想把下拉數據放到模型中,你可以簡單地用一個php include()語句來獲取它。 – ldg

回答

3
<?php echo CHtml::dropDownList("sourceModels", '',array(),array('class'=>'mandal','size'=>20,'id'=>'sorceModels'));?> 

好像你沒有指定下拉列表ID,所以js找不到Dom正確的。

+0

感謝您的回覆。這是問題,我糾正了它。但它仍然沒有找到.html文件 – Bujji

+0

Ya它正在/final/dist_list.html下查找該文件。由於我將它複製到了組件/ js中,因此無法找到它。 – Bujji

+0

其實我相信應該使用CHtml :: dropDownList函數創建「sourceModels」id,因爲默認情況下ID與name屬性相同。 – ldg

相關問題