[英]two drop-down menus with connection
我正在使用smarty和php。 我有两个下拉菜单。 另外,我有两个数据库,其中一个数据库具有类别,另一个数据库具有新闻,其中具有类别ID。 菜单之一读取类别。 我想从第一个菜单类别中进行选择时,页面会自动刷新,并将带有该类别的新闻放入第二个下拉列表中。
<form method="post">
<h3>Category of news</h3>
<select name="categoriesForm" id="news_cat">
<option value="0"></option>
{foreach from=$categories item=i}
<option value="{$i.id}"> {$i.name|stripslashes} </option>
{/foreach}
</select>
<h3 style="position:absolute;left:500px; top:130px;">Name of news</h3>
<select name="news" id="news_name" style="position:absolute;left:500px; top:190px;">
<option value="0"></option>
{foreach from=$news item=i}
<option value="{$i.id}"> {$i.name|stripslashes} </option>
{/foreach}
</select>
</form>
这是控制者:
function edit_news(){
$cat = $this->news->getCategoriesNews();
$this->assign('categories',$cat);
$selected_key = $_POST['categoriesForm'];
$news = $this->news->getNameNews($selected_key);
$this->assign('news',$news);
}
这就是模型
function getCategoriesNews(){
return $this->db->GetAll("SELECT id, name FROM categories ");
}
function getNameNews($category){
return $this->db->GetAll("SELECT name,cat_id FROM news WHERE cat_id = '$category' ");
}
好吧,我已经提到了该过程的概述。 我敢肯定,您只需做很少的作业,就可以实现您的功能。
1)使用onChange
上categoriesForm
下拉菜单中调用JavaScript / jQuery的功能。 因此,每当您更改categoriesForm
的值时,就会调用脚本函数。
<select name="categoriesForm" id="news_cat" onChange="feed_secondary()">
2) feed_secondary
提取的当前值categoriesForm
和火灾和AJAX调用。
3)在ajax调用中,传递当前类别的值。
4)在控制器中,处理category_id并发送该类别的所有新闻作为响应。
4)在feed_secondary
,处理响应并处理次要下拉news
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.