javascript - 填充 JScript 数组以便在 SELECT 上重用

标签 javascript jquery

如果这已经在 StackOverflow 的“某处”,请原谅我,但我不是 100% 确切地知道它会属于什么......

我正在尝试从 WebService 检索信息,将其存储在一个数组中,然后为每个 <select>在我的 ASP.Net Datalist 中,用数组填充它并将绑定(bind)附加到 OnChange 事件。

换句话说,我有一个包含“Yes, No, Maybe”的数组 我有一个包含十个项目的 ASP.Net Datalist,因此我有 10 <Select>每个选项都有“是、否、可能”作为可选项目。 当用户更改其中一个时 <Select> s,一个事件被触发让我写回数据库。

我知道我可以使用 [ID=^ 但不知道如何:

a) 获取页面以填充 <Select>因为它是用数组创建的 b) 根据 <Select> 分配一个 Change 函数so I can write back(回写我可以轻松完成,它只是绑定(bind)事件)。

对此有什么想法吗?

最佳答案

我已经构建了一个简单的示例来演示您想要完成的任务。我没有用于构建示例的 ASP.Net 服务器,因此我使用 Yahoo 的 YQL 来模拟您将从服务器获取的远程数据源。

示例页面=> http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-multiple-selects-from-datasource.html

示例步骤:

  1. 查询数据源以获取选定问题的数组
  2. 构建选择的 HTML
  3. 将 HTML 附加到页面
  4. 将更改事件监听器附加到选择
  5. 在选择值更改时提交值

示例 jQuery:

// get list of questions
$.ajax({
  url: url,
  dataType: "jsonp",
  success: function(data) {

    // build string of HTML of selects to append to page
    var selectHtml = "";
    $(data.query.results.p).each(function(index, element) {
      selectHtml += '<select class="auto" name="question'+index+'"><option value="Yes">Yes</option><option value="No">No</option><option value="Maybe">Maybe</option></select> '+element+'<br/>';
    });

    // append HTML to page
    $(document.body).append(selectHtml);

    // bind change event to submit data
    $("select.auto").change(function() {
      var name = $(this).attr("name");
      var val = $(this).val();
      // replace the following with real submit code
      $(document.body).append("<p>Submitting "+name+" with value of "+val+"</p>");
    });
  }
});

示例数据源 => http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-multiple-selects-from-datasource-datasource.html

示例加载:

alt text

示例选择值已更改:

alt text

关于javascript - 填充 JScript 数组以便在 SELECT 上重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378637/

相关文章:

javascript - 在 Javascript 中创建嵌套 div 的最有效方法是什么?

支持 Javascript 的 Java HTML 编辑器套件

javascript - 检查 dom 元素是否具有数据属性 id,然后更新这些元素的数据属性

javascript - 将触发器中的 href 作为另一个元素的背景图片

jquery - ASP.NET (MVC) jQuery Intellisense -> ReSharper 中的错误

php - 无法访问 jQuery 加载的 PHP 中的 CodeIgniter 方法

javascript - CSS 页面转换

javascript - DOJO Promise All 子函数

javascript - 从转发的电子邮件中提取电子邮件地址和姓名

javascript - 图表 JS 集成