2011-04-16 29 views
0

我發現這個不錯的jquery插件標記它! http://levycarneiro.com/2010/03/tag-it-tag-suggestions-editor-and-autocomplete-in-a-jquery-ui-plugin/並希望將其實施到ASP.Net應用程序中。從Jquery標籤中檢索選定的標籤它!插件回發

檢查源代碼後,我發現該插件向ul添加了額外的li項目(包括刪除鏈接等)。

如何在PostBack上檢索選定的標籤?

+0

你又能解釋爲什麼應該有一個回傳?你不能使用ajax pagemethod或類似的東西嗎? – naveen 2011-04-16 16:50:17

+0

我有一個表單,我有一定的文本框,下拉列表等等,並根據該輸入在我的數據庫中添加一條記錄。想要爲記錄添加標籤功能。所以我只能在插入記錄後保存選定的值。但我想用一個提交 – citronas 2011-04-16 17:24:36

+0

來做到這一點,什麼會阻止你保存客戶端上的標籤點擊頁面方法,然後返回真正的回傳? – naveen 2011-04-16 17:41:40

回答

6

@citronas,我用這個jQuery的標籤插件:jQuery Tagit

我修改它按如下方式都與從服務器端代碼加載插件並檢索選定的標籤上的服務器端。

...<script> 
    $(function() { 

     var availableTags = $("#<%= hdnDBTags.ClientID %>").val().split(','); 

     $('#demo1').tagit({ tagSource: availableTags, select: true }); 

     $("#<%= btnGetTags.ClientID %>").click(function() { 
      getTagsString($('#demo1').tagit('tags')) 
     }); 

     function getTagsString(tags) { 
      var string = ""; 

      for (var i in tags) { 
       string += tags[i] + ","; 
      } 

      $("#<%= hdnSelectedTags.ClientID %>").val(string); 
     } 
    }); 
</script> 
<asp:HiddenField ID="hdnDBTags" runat="server" /> 
<asp:HiddenField ID="hdnSelectedTags" runat="server" /> 
<h1> 
    Your Profile</h1> 
<p> 
    <ul id="demo1" name="nameOfSelect"> 
    </ul> 
    <asp:Button ID="btnGetTags" runat="server" Text="Get Tags" OnClick="btnGetTags_Click" /> 
</p> 

而且在後面的代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    hdnDBTags.Value = "real_estate,mortgage_lending"; 
} 

protected void btnGetTags_Click(object sender, EventArgs e) 
{ 
    string test = hdnSelectedTags.Value; 

    IList<string> array = test.Split(',').ToList(); 

    array.Remove(""); 
} 

希望這有助於...

d