1. 程式人生 > >如何 給 文章 新增 標籤 以及 如何 讓 js 中的資料 跟隨 form 表單 一起提交到 後臺

如何 給 文章 新增 標籤 以及 如何 讓 js 中的資料 跟隨 form 表單 一起提交到 後臺

設計思路

檔案和,標籤的關係,多對多的關係。
需要一個標籤表,和,文章標籤中間表。
文章和,標籤的關係,多對多的關係。
一個標籤對應多篇文章,一篇文章對應多個標籤 。
標籤,增刪改查,可以在後臺管理。

這個文章標籤中間表,是如果1篇文章有幾個標籤,就有幾條資料,只是對應同一個文章id

參考網址
http://www.17sucai.com/pins/29482.html

我是 這樣 實現的

//  標籤庫 的展示

<div class="clear"></div>
              <!--  <div class="af-outer af-required">    -->            
               <div class="wrap">
                      <div class="label-selected">
                          <a href="javascript:;" class="layui-btn layui-btn-sm show-labelitem" style="float: right; margin: 4px; display: block;line-height: 30px;">展開標籤庫 </a>
                          <a href="javascript:;" class="layui-btn layui-btn-sm hide-labelitem" style="float: right; margin: 4px; display: none;line-height: 30px;">收起標籤庫 </a>

                          <!-- 在這獲取的值  使用者點選的 標籤 id -->
                          <input type="hidden" name="biaoqian_id">  

                   </div>
                   <div class="layui-col-md12" id="labelItem">
                        <!-- 標籤庫 -->
                        <div class="label-item">
                          <a href="javascript:;" class="replacelable" style="position: absolute;right:1rem;bottom:.75rem;color: #1994dc" onselectstart="return false">換一批</a>
                          {foreach $biaoqian as $v}
                              <li class="biaoqian" data="{$v['id']}"><span>{$v['biaoqian_name']}</span></li>
                          {/foreach}
                        </div>
                     </div>
   </div>
   
// 表單 提交按鈕
<div class="af-outer af-required">
   <div class="af-inner">
        <input type="submit" id="button" name="button" class="btn btn-welcome btn-large"  value="釋出" />
    </div>
</div> 

js

<script type="text/javascript"> 

$(function(){
// 要改成表單提交的時候獲取
$("#button").click(function(){

   // 這樣就可以得到標籤id,傳遞給 input框  並跟隨表單 一起提交到後臺
  console.log($("input[name='biaoqian_id']").val());  
})

})
</script>

控制器中

獲取到使用者點選的標籤 id 只要 存進 標籤關聯中間表 就可以了
注意,多個標籤id 的時候,要 遍歷迴圈新增
程式碼如下

// 如果標籤為空,不插入標籤表
if($data['biaoqian_id'])
{
 	// $arr 最後一個下標是空的
	$arr = explode(',',$data['biaoqian_id']);

	$result = array_pop($arr);  // 這是那個空的下標,去掉
	foreach($arr as $v)
	{
		$biaoqian['biaoqian_id'] = $v;
		$biaoqian['art_id'] = $art_id;
	
		$biao = DB::name('biaoqian_link')->insert($biaoqian);
	}
}