Javascript 添加';名称';属性为';选择';标签取决于所选的';李';班

Javascript 添加';名称';属性为';选择';标签取决于所选的';李';班,javascript,jquery,css,html-select,jquery-chosen,Javascript,Jquery,Css,Html Select,Jquery Chosen,我的'select'列表由'selected.js'转换为'ul'列表,但搜索功能取决于'select'列表的'name'属性' <select name="test"> <option value="1">Пункт 1</option> <option value="2">Пункт 2</option> <option value="3">Пункт 3</option>

我的'select'列表由'selected.js'转换为'ul'列表,但搜索功能取决于'select'列表的'name'属性'

<select name="test">
    <option  value="1">Пункт 1</option>
    <option  value="2">Пункт 2</option>
    <option  value="3">Пункт 3</option>
    <option  value="4">Пункт 4</option>
</select>

<div>
    <ul>
        <li class="parent result-selected">one</li> (selected option)
        <li class="active-result">two</li>
        <li class="active-result">three</li>
        <li class="active-result">four</li>
    </ul>
</div>
此代码基于选项“id”,在“select”列表出现之前一直有效,但不能将“selected.js”转换为“ul”列表,它在中声明它有自己的事件处理程序;语法是
$(“#表单_字段”).selected().change(…)

所以在你的情况下,试试看

$("select").chosen().change(function(){
    ... code here
});
您可以在
ul
标签上使用。检查类属性中的更改。如果更改了class属性,则在选择class
结果的情况下获取
li
,并查看它是否具有class
父级

const selectEle=document.querySelector('select');
const targetNode=document.querySelector('ul');
常量配置={
属性:正确,
儿童名单:是的,
子树:真
};
常量回调=函数(mutationList){
for(让突变列表突变){
if(mutation.type==='attributes'){
if(mutation.attributeName==“class”){
const selectLi=document.querySelector('.result selected');
console.log('Before-',选择ele.name);
selectEle.name=(selectLi.classList.contains('parent'))?“parent”:“test”;
console.log('在-'之后,选择ele.name);
}
}
}
}
const observer=新的MutationObserver(回调);
observer.observe(targetNode,config);
const li=document.querySelector('li');
li.classList.add('parent');
//li.classList.remove('parent')

Пункт 1
Пункт 2
Пункт 3
Пункт 4
  • 一个(选定选项)
  • 两个
  • 三个
  • 四个

但是如果“id”在“option”标签中,并且没有包含在“li”标签中,我不知道它是如何工作的。非常感谢,它应该可以工作,但它不能
$("select").chosen().change(function(){
    ... code here
});