1

最初のZendX_JQuery_Formを設定しています。私のコントローラーには、次のコードがあります。

$ form = new ZendX_JQuery_Form();

$ date1 = new ZendX_JQuery_Form_Element_DatePicker('date1'、array('label' =>'Date:')); $ form-> addElement($ date1);

$ elem = new ZendX_JQuery_Form_Element_AutoComplete('ac1'、array('label' =>'オートコンプリート:')); $ elem-> setJQueryParams(array('source' => array('New York'、'Berlin'、'Bern'、'Boston'))); $ form-> addElement($ elem); $ this-> view-> form = $ form;

そして、必要なコードをBoostrapに含めています。

$ view-> addHelperPath( "ZendX / JQuery / View / Helper"、 "ZendX_JQuery_View_Helper");

したがって、DatePickerは完璧に機能しています。ただし、オートコンプリートフィールドは単なるテキストボックスであり、何も表示されません。そして、その理由がわかりません。

ソースを表示すると、jQueryは正常に含まれ(明らかにDatePickerが機能するため)、イベントが設定されています。

$(document).ready(function() {

$("#date1").datepicker({});
$("#ac1").autocomplete({"source":["New York","Berlin","Bern","Boston"]});

});

これはヘッダーにあります:

<script type="text/javascript" src="/js/jquery/js/jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>

そして、正しいフィールドがあります:

<input type="text" name="ac1" id="ac1" value="" />

唖然!助けてください。

4

2 に答える 2

1

オートコンプリート機能を使用するには、適切なバージョンのJQueryが必要です。代わりに、ローカルに含める場合は、ZendXJQueryAPIを使用してバージョン番号を定義できます。これはより洗練されています。

<?php echo $this->jQuery()->setVersion('1.7.1')->setUiVersion('1.8.2'); ?>

この行をビューテンプレートに追加すると(レイアウトビューテンプレートをお勧めします)、対応するバージョンのJQueryおよびJQueryUIライブラリが含まれます。デフォルトでは、ZendXにはライブラリのGoogleCDNバージョンが含まれます。

また、ZendXが必要と判断した場合だけでなく、すべての場合にZendXにこれらのライブラリを含めるように強制することもできます。autoLoadスクリプトを追加する場合は、これが重要になる可能性があります。たとえば、これらの行をIndexControllerアクションに追加すると、ZendXに対応するライブラリが常に含まれるようになります。

$jquery = $this->view->jQuery();
$jquery->enable();
$jquery->uiEnable();
于 2012-05-04T10:49:46.360 に答える
0

(Googleコードライブラリから)自動的に含まれるjqueryuiのコードライブラリにオートコンプリート機能がないことに気づきました。localPathを手動で設定する必要があります。

$this->jQuery ()->setUiLocalPath('/js/jquery/js/jquery-ui-1.8.2.custom.min.js');
于 2010-08-18T02:12:04.850 に答える