从动态列表中获取值并将其作为字符串返回

时间:2012-05-24 15:29:11

标签: jquery ajax asp-classic

我正在开发一个用户要选择文档的项目,它将被放入动态可排序列表中。列表项将具有特定文档的id的值。一旦安排了列表,用户就是单击Create List,我想使用Ajax和经典ASP(需要在这个过程中需要发生的几个queire来获取新的字符串格式)才能获取正确的值。列出项目并将它们放入数组中。

这是我目前的清单:

<ul class="main_doc_list">
  <li><b>Editor's Blog</b>
  <ul class="doc_list">
      <li value="111111">Doc Title</li>
   </ul>
   </li>
   <li><b>Blog Roll</b>
    <ul class="doc_list">
      <li value="222222">Doc Title</li>
      <li value="333333">Doc Title 2</li>
      <li value="444444">Doc Title 2</li>
    </ul>
    </li>
   </ul>

我目前在JQuery中使用它来触发Ajax事件。

$("#create").click(function() {
    $.ajax(
            {
            type: "GET",
            url: "newslettercreate_action.asp",
            success: function(result) {
                var newsletter_string = $(result);
                $("#scratch").val(newsletter_string);
            }
        });

    }) 

只是不确定曾经在我的ASP动作文件中如何获取我需要的值来开始构建newsleter_string的功能。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

只需要传递一些数据:

$("#create").click(function() {

    // get some data
    var strDocIDs = $('.main_doc_list').find('li').first().attr('value');

    $.ajax(
            {
            type: "GET",
            url: "newslettercreate_action.asp",
            data: { "'strDocIDs':'" + strDocIDs + "'}",
            success: function(result) {
                var newsletter_string = $(result);
                $("#scratch").val(newsletter_string);
            }
    });

}) 

答案 1 :(得分:2)

正如Porco指出的那样,你可以在发布之前用jQuery本身抓住它,你只需要循环通过每个元素并连接值来发布它就像Porco说:

$("#create").click(function() {
    // get some data 
    var strDocIDs = "";
    $('.main_doc_list').find('li[value]').each(function() {
        strDocIDs += ", " + $(this).attr('value');
    });

    if (strDocIDs != "") alert(strDocIDs.substring(2)); // substring here rips off the first comma
})

要发布数据,请执行Porco向您展示的内容,您可以将ASP上的结果作为Request变量获取:

strDocIDs = Request("strDocIDs")