2016年12月19日 星期一

[textext.plugin.tags]tab自訂顯示文字,hidden存Key值



如上圖所示,想要在tab標籤顯示編號+姓名
tags.js預設會產生一個hidden input自動存入與標籤上的名稱一樣,這樣取值需要另外再處理不太方便。
找了相關文件也沒有找到如何達成我這樣的需求。
後來只好土法煉鋼直接修改tags.js檔(看了好久才看懂他在寫甚麼)

在第textext.plugin.tags.js 502行改成以下即可,意思就是只取"-"以前的字串存入hidden input
 result.push($(this).data(CSS_TAG).toString().substring(0, $(this).data(CSS_TAG).toString().indexOf("-")));

然後我就可以取hidden的值囉
$(".text-wrap input:hidden").val()
================================================================

20180206
最近又有專案需要用到此功能,重新在檢視了一下原來可以更簡單(不知當時再想啥),以上就請忽略吧!

這次是直接使用帳號加入tag後再將userid轉成姓名
//插入標籤
$('#textareaParticipants').textext()[0].tags().addTags([userid]);
    //搜尋所有tag
    $(".text-tag .text-button .text-label").each(function (i, obj) {
        //如果執行到該迴圈的tag值等於正要加入的帳號id才將帳號轉成姓名
        if ($(this).text() == userid) {
            var userName = "";
            $.ajax({
                url: '/TourManage/GetUserData/',
                type: 'post',
                data: { userid: userid },
                cache: false,
                async: false,
                success: function (res) {
                    //alert(res.UserName);
                    userName = res.UserName
                },
                error: function (x, e) {
                    window.location.href = "/Default/Login?err=995";
                }
            });
            //將tag至換成姓名
            $(this).text(userName);
        }
    });

沒有留言:

張貼留言

Visual Studio JS intellisense 失效解決方式

  試了好久,發現到工具>選項>IntelliCode js項目設定啟用,重新開啟VS就正常了! 後來發現是TypeScript3.2版有問題停用,使用4.3版的TypeScript即可