javascript - 如何使用 jQuery 以编程方式选择变量内的选项

标签 javascript jquery html jquery-selectors

假设我有这个包含这些选择选项的变量 html:

var html = '<select>'+
             '<option value="10">10</option>'+
             '<option value="20">20</option>'+
            '</select>';

我如何以编程方式选择一个位于 html 变量内的选项,以便当我将它们附加到某个地方时,例如

$(this).children('div').append(html);

会变成这样:

<div> <!-- children div of the current scope -->
  <select>
    <option value="10" selected>10</option>
    <option value="20">20</option>
  </select>
</div>

这怎么可能?


编辑:变量内容是从远程位置生成的,我必须在将其附加到 div 之前在本地更改值。因此,问题。

编辑 2:抱歉造成混淆,问题已根据我的真实情况进行了更新。

最佳答案

您可以将 HTML 转换为 jQuery 元素并选择索引 0 处的值。然后您可以将其添加到 DOM。

这是一个简单的 jQuery 插件,可以通过索引选择一个选项。

(function($) {
  $.fn.selectOptionByIndex = function(index) {
    this.find('option:eq(' + index  + ')').prop('selected', true);
    return this;
  };
  $.fn.selectOptionByValue = function(value) {
    return this.val(value);
  };
  $.fn.selectOptionByText = function(text) {
    this.find('option').each(function() {
      $(this).attr('selected', $(this).text() == text);                                 
    });
    return this;
  };
})(jQuery);

var $html = $([
  '<select>',
    '<option value="10">10</option>',
    '<option value="20">20</option>',
  '</select>'
].join(''));

$('#select-handle').append($html.selectOptionByIndex(0));
// or
$html.selectOptionByValue(10);
// or
$html.selectOptionByText('10');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="select-handle"></div>

关于javascript - 如何使用 jQuery 以编程方式选择变量内的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41274739/

相关文章:

html - 在部署有关搜索引擎的网站的完全重新设计时要考虑什么?

Javascript 函数可防止基于条件打开链接

javascript - Javascript onClick show div : Unexpected behavior. 浏览器窗口垂直向上滚动

javascript - 如何提取嵌套对象数组中 'enabled' 对象的路径

简单表单验证所需的 Javascript 帮助

javascript - 查找数组的交集不起作用?

javascript - 与 attr() 类似的函数,带有回调函数的参数

c# - 动态页面上的 ASP.NET MVC 2 验证

java - 如何在不使用 xpath 或 CSS 路径的情况下从 Amazon 页面定位元素?

html - 插入 div 以仅包含滚动条