【问题标题】:Adding items to select (list box) of html/php through jQuery or javascript通过jQuery或javascript添加项目以选择html/php(列表框)
【发布时间】:2011-02-21 12:56:54
【问题描述】:

当特定动作被jQuery/javascript中的另一个控件触发时,是否可以通过jQuery或javascript将项目添加到html/php的选择(列表框)? (由Alex Thomas编辑)

【问题讨论】:

    标签: php javascript jquery


    【解决方案1】:

    是的,为您选择的事件附加一个合适的处理程序。例如,如果您想在另一个控件发生更改时添加新项目,您可以使用以下内容:

    $('#controller').change(function() {
        $('#child_select').append('<option>New option</option>');
    });
    

    或者,有一些 jQuery 插件可用于根据另一个元素的选择使下拉列表动态化。

    【讨论】:

      【解决方案2】:

      是的,您可以在客户端添加项目。例如:

      // Get the raw DOM select element (first use jQuery
      // to find it, then get the raw version via [0] 
      var select = $("select[name=someField]")[0];
      
      // Add the option
      select.options[select.options.length] = new Option("Third Option", "3");
      

      Live example

      另见:How do you update all options of a select with jquery?

      【讨论】:

        【解决方案3】:

        您可以使用: $('select').append('&lt;option value="id" selected="selected"&gt;Text&lt;/option&gt;'); 方法,通过 jQuery。您可以通过多种方式调用它(并通过 ajax、存储对象等获取数据)。

        如果您可以提供更多关于您想要触发此操作的信息,我可以提供一个更好的示例。

        希望这会有所帮助。

        【讨论】:

        • 您确定 jQuery 的 append 可以正常工作以向选择框添加选项,可靠地跨浏览器吗?原始 DOM 版本 appendChild 没有,但这并不意味着 jQuery 不会让它在幕后工作。
        • 我会澄清我的帖子,但感谢您指出这一点。附加 html 有效,但附加 new Option('id', 'value') 无效 - 感谢您的关注。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        相关资源
        最近更新 更多