Javascript 使用与蛋糕php3链接的
我试图根据另一个选择选项数据从select加载数据,因此我使用了Chained idea,但我在获取相关数据时遇到问题,我在视图中这样做:Javascript 使用与蛋糕php3链接的,javascript,ajax,cakephp-3.0,Javascript,Ajax,Cakephp 3.0,我试图根据另一个选择选项数据从select加载数据,因此我使用了Chained idea,但我在获取相关数据时遇到问题,我在视图中这样做: echo $this->Form->input('warehouse_categories_items_id', ['options' => $warehouseCategoriesItems,'class' => 'form-control','id'=>'type']);
echo $this->Form->input('warehouse_categories_items_id', ['options' => $warehouseCategoriesItems,'class' => 'form-control','id'=>'type']);
echo $this->Form->input('warehouse_items_id', ['options' => $warehouseItems, 'class' => 'form-control','id'=>'item','data-chained'=>$query]);
<script type="text/javascript">
$(document).ready(function () {
$("#item").chainedTo("#type");
});
但它只获取我的第一个选择选项数据,而不获取第二个相关数据 如果要使用级联选择,有两种方法:-
<select id="mark" name="mark">
<option value="">--</option>
<option value="bmw">BMW</option>
<option value="audi">Audi</option>
</select>
<select id="series" name="series">
<option value="">--</option>
<option value="series-3" data-chained="bmw">3 series</option>
<option value="series-5" data-chained="bmw">5 series</option>
<option value="series-6" data-chained="bmw">6 series</option>
<option value="a3" data-chained="audi">A3</option>
<option value="a4" data-chained="audi">A4</option>
<option value="a5" data-chained="audi">A5</option>
</select>
在控制器的optionData方法中,如果必须以JSON格式发送数据(只需从DB中查找数据,然后使用PHP函数JSON_encode将选项数据转换为JSON)
如果需要本地绑定,则为选项创建数据链属性
您必须在控制器中创建一个数组,如下所示,
你可以这样做
$options = [
['text' => 'Series-3', 'value' => 'series-3', 'data-chained' => 'bmw'],
['text' => 'Series-5', 'value' => 'series-5', 'data-chained' => 'bmw'],
['text' => 'A-3', 'value' => 'a-3', 'data-chained' => 'audi'];
echo $this->Form->select('field', $options);
快乐编码:)您使用了jquery链接,这很好。但在更改第一个下拉列表后,是否向服务器发送任何请求@Dina ShaldoumNo,不是它给了我所有的结果,这不是真的,不是相关的值。这是你可以找到文档的地方。问题是,我试图获得数据链动态,但我不能,它返回null。你能告诉我如何在cake php中放置data chained=“bmw”?你可以这样做,注释不接受很多字符,所以我在答案的末尾添加了您的查询答案@迪娜·沙尔多姆
<select id="mark" name="mark">
<option value="">--</option>
<option value="bmw">BMW</option>
<option value="audi">Audi</option>
</select>
<select id="series" name="series">
<option value="">--</option>
</select>
<select id="model" name="model">
<option value="">--</option>
</select>
<select id="engine" name="engine">
<option value="">--</option>
</select>
$("#series").remoteChained({
parents : "#mark",
url : "series/optionData"
});
$("#model").remoteChained({
parents : "#series",
url : "models/optionData"
});
$("#engine").remoteChained({
parents : "#series, #model",
url : "engines/optionData"
});
$options = [
['text' => 'Series-3', 'value' => 'series-3', 'data-chained' => 'bmw'],
['text' => 'Series-5', 'value' => 'series-5', 'data-chained' => 'bmw'],
['text' => 'A-3', 'value' => 'a-3', 'data-chained' => 'audi'];
echo $this->Form->select('field', $options);