三个选项分别基于先前的jquery进行选择
three selects each based on previous jquery
我试图在cakehp+jQuery中做3个选择,第一个选择是在那个地方的省份、第二个地方、第三个学校。这是我的蛋糕代码(到目前为止):
echo $this->Form->input('proviences', array(
'type' => 'select',
'empty' => true,
'options' => $proviences,
'label' => 'Province',
'class' => 'proviences',
'before' => '<div style="float:left;width:180px"',
'after' => "</div>"
));
echo $this->Form->input('localities', array(
'type' => 'select',
'empty' => true,
'options' => $localities,
'label' => 'City',
'class' => 'localities',
'before' => '<div style="float:left;width:180px"',
'after' => "</div>"
));
$schoolList = array();
foreach($schools as $value) {
$schoolsList[]=$value['name'];
}
echo $this->Form->input('school_id', array(
'label' => 'Szkoła',
'options' => $schoolsList,
'empty' => true,
'before' => '<div style="float:left;width:240px"',
'after' => "</div>",
'onchange' => "submit();",
));
在$schools中,我有一个这样看的列表
array(
id1 => array(
'name' => 'some_name',
'province' => 'some_province',
'locality' => 'some_city'
)
)
并使用它来获得省份、地区和学校名称的列表我试着用这个,但没能用/根据以前的选择筛选三个选择框有没有一种方法可以在没有ajax的jQuery中实现这一点?
您可以在不使用ajax的情况下完成此操作,但为此,您需要客户端上的schools数组,并在客户端上基于该数组创建/编辑选项。
这是一把正在工作的小提琴。(匆忙拼凑,但你明白了)。不过,您需要将schools
数组放入js中。您可以使用AJAX,也可以在页面上将其作为json传递:
echo 'var schools = JSON.parse('.json_encode($schools).');
你也必须考虑把它放在哪里,这样变量就不会泄漏到全局范围内。您可以将它放在jQuery闭包中,例如:
echo '(function($){';
echo 'var schools = JSON.parse('.json_encode($schools).');
// now the javascript from the fiddle...
echo '}(jQuery))';
相关文章:
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 如何将jquery函数仅应用于大屏幕
- 将jQuery事件应用于所有类元素
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- Jquery事件处理程序仅适用于匿名函数
- jQuery调整大小函数只适用于窗口
- Sidr.js相当于没有jQuery的AngularJS
- VAlue未应用于使用Jquery代码的输入
- 将stopImmediatePropagation()应用于所有jQuery移动事件
- css未应用于使用jQuery.append()创建的html元素
- 如何将函数应用于完成 jquery ajax 提交的类
- 将所有jquery ui交互状态应用于所有jquery ui小部件内容
- Document Ready等效于通过jQuery Mobile手风琴加载ajax的内容
- 将延迟应用于动画jquery
- 将脚本应用于通过jquery .html()插入的元素
- 有没有类似于'finally'jQuery中的AJAX调用
- 帮助创建风格类似于手风琴- jquery
- 相当于“;jQuery.on”;使用纯JavaScript
- id=setInterval() 首先未定义于 3(使用 Jquery)
- 将 jQuery 应用于由 jQuery 创建的元素时出现问题