2011-04-16 20 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