我有一个由SPAN元素包装的SELECT元素.不允许我使用SELECT ID,但允许我使用SPAN ID. 我正在try 编写一个javascript/jQuery函数,其中的输入是数字i,它是SELECT选项的值之一.该功能会将相关选项变为Selected(已 Select ).

<span id="span_id">
    <select id="h273yrjdfhgsfyiruwyiywer" multiple="multiple">
        <option value="1">cleaning</option>
        <option value="2">food-2</option>
        <option value="3">toilet</option>
        <option value="4">baby</option>
        <option value="6">knick-knacks</option>
        <option value="9">junk-2</option>
        <option value="10">cosmetics</option>
    </select>
</span>

I wrote something as follows (this does not completely work, which is why I am posting this question):

function select_option(i) {

    options = $('#span_id').children('select').children('option');
    //alert(options.length); //7
    //alert(options[0]); //[object HTMLOptionElement]
    //alert(options[0].val()); //not a jquery element
    //alert(options[0].value); //1

    //the following does not seem to work since the elements of options are DOM ones not jquery's
    option = options.find("[value='" + i + "']");
    //alert(option.attr("value")); //undefined
    option.attr('selected', 'selected');

}

Thanks!

推荐答案

Here's the simplest solution with a clear selector:

function select_option(i) {
  return $('span#span_id select option[value="' + i + '"]').html();
}

Jquery相关问答推荐

Bootstrap 3模态框和video.js视频未正确调整大小

哪个 JQuery Select 器会排除与给定 Select 器匹配的父项的项目?

jQuery:如何动态检测窗口宽度?

ajax调用后Jquery事件不会触发

如何使用 JQuery Select 没有特定子元素的元素

如何用另一个响应替换窗口的 URL 哈希?

提交前添加 POST 参数

如何使用 jQuery Select 所有复选框?

纯css关闭按钮

jQuery Mobile:动态添加内容的标记增强

jQuery - 使用发布数据重定向

jQuery Select 器中前导冒号的目的是什么?

隐藏 div 但保留空白

Rails 无法正确解码来自 jQuery 的 JSON(数组变成带有整数键的散列)

Underscore.js 和 jQuery 互补吗?

如何在新窗口中打开链接?

使用 jQuery 将事件侦听器添加到动态添加的元素

jQuery 发送字符串作为 POST 参数

如何在文件 Select 上触发事件

jQuery 将换行符转换为 br (nl2br 等效)