如何使用jQuery从对象中获取选项

时间:2014-10-06 08:14:31

标签: javascript jquery options

我正在尝试从变量中获取具有特定数据值的选项,我保存了所有可用选项。

var optionSaver = $('#directory option');
console.log(optionSaver);

$('#projectOrOrganizations').change(function () {
    var id = $('#projectOrOrganizations').find(':selected').data('contextid');
    console.log(id);

    var options = $('option[data-parentid='+id+']', optionSaver);

    console.log(options);

    $('#directory').html(options);
});

只要更改侦听器处于活动状态,optionSaver就会保留

编辑:

要求的Html:

<select name="project" id="projectOrOrganizations">
    <option name="organisationOrProjectName_78" data-contextid="78">Organisationsvorlage</option>
    <option name="organisationOrProjectName_80" data-contextid="80"> Projektvorlage</option>
</select>

<select name="directory" id="directory">
    <option  data-parentid="78" value="Verzeichnis">Verzeichnis</option>
    <option  data-parentid="80" value="Verzeichnis">Verzeichnis2</option>
</select>

2 个答案:

答案 0 :(得分:1)

您需要在此处使用filter(),因为您要查找的option元素不是optionSaver的后代,但它是optionSaver的成员。所以

var options = optionSaver.filter('option[data-parentid='+id+']');

答案 1 :(得分:0)

如果要保存变量数据,则应使用范围更大的变量。您可以在change事件的范围内定义id和options。因此,您应该在change事件中创建一个变量并将其保存在那里。