错误试图筛选场

问题描述:

我试图筛选基于先前的选择一个选择栏,但它不工作,它给了我一个错误:错误试图筛选场

Uncaught Error: Syntax error, unrecognized expression: optgroup[label=Door-to-Door Sales ]

<select id="affiliation" name="affiliate[industry]"> 
    <option value="">Industry</option> 
    <option value="3">Auto Sales</option> 
    <option value="1">Door-to-Door Sales</option> 
    <option value="10">Independent</option> 
    <option value="11">Mortgage Officer</option> 
    <option value="12">Real Estate Agent</option> 
    <option value="13">Seminar Services</option> 
    </select> 

    <select id="companies" name="affiliate[parent_affiliate_id]"> 
    <option value="">Company</option> 
    <optgroup label="Auto Sales"></optgroup> 
    <optgroup label="Door-to-Door Sales "> 
    <option value="3">Vivint Smart Home</option> 
    <option value="4">Vivint Solar</option> 
    </optgroup> 
    <optgroup label="Independent"></optgroup> 
    <optgroup label="Mortgage Officer"></optgroup> 
    <optgroup label="Real Estate Agent"></optgroup> 
    <optgroup label="Seminar Services"> 
    <option value="5">RoryRicord.com</option> 
    </optgroup> 
    </select> 

jQuery的我得到的是基于在本教程中https://www.rubyplus.com/articles/3691-Dynamic-Select-Menus-in-Rails-5

jQuery(function() { 
    var companies; 
    companies = $('#companies').html(); 
    console.log(companies); 
    return $('#affiliation').change(function() { 
     var industry, options; 
     industry = $('#affiliation :selected').text(); 
     options = $(companies).filter("optgroup[label=" + industry + "]").html(); 
     console.log(options); 
     if (options) { 
      return $('#companies').html(options); 
     } else { 
      return $('#companies').empty(); 
     } 
    }); 
}); 

我想它是缺少双引号。所以我将双引号改为单引号,并在后[和之前]加双引号。

options = $(companies).filter('optgroup[label="' + industry + '"]').html(); 

好像你的浏览器有困难呈现当前的jQuery。 尝试

options = $(companies).filter("optgroup<label=" + industry + ">").html() 
+0

它没有用。我检查并说,在HTMLSelectElement。 (VM3376 select-button.js:8)'是不是我会混淆其中一个名称,并且不知道要更改什么? – Allan