Javascript 选择列表不保留选定值
我使用jQuery为表单中的多个选择框创建了自定义样式。但是这些框不显示是否预先选择了任何值,而是始终显示请选择 $'.自定义_选择'.eachfunction{ var list=$this.children'ul', select=$this.find'select', title=$this.find'。选择_title'; title.css'min-width',title.outerWidth; //选择项目以列出项目 如果$this.find“[data filter]”。长度{ 对于变量i=0,len=select.children'option'.length;iJavascript 选择列表不保留选定值,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我使用jQuery为表单中的多个选择框创建了自定义样式。但是这些框不显示是否预先选择了任何值,而是始终显示请选择 $'.自定义_选择'.eachfunction{ var list=$this.children'ul', select=$this.find'select', title=$this.find'。选择_title'; title.css'min-width',title.outerWidth; //选择项目以列出项目 如果$this.find“[data filter]”。长度{
var text = $('#title').val();
if(text != ""){
$('.select_list li').each(function(){
if(text == $(this).text())
$(this).click();
});
}
$'.自定义_选择'.eachfunction{
var list=$this.children'ul',
select=$this.find'select',
title=$this.find'。选择_title';
title.css'min-width',title.outerWidth;
//选择项目以列出项目
如果$this.find“[data filter]”。长度{
对于变量i=0,len=select.children'option'.length;ititle.text(select.val() || 'Please Select');
如果所选值为空或初始未选择任何选项,它将使用标准的“请选择”文本更新标题
如果您想对代码有更多的控制,可以广泛编写上述代码:
if(select.val()){
title.text(select.val());
// anything else ...
}else{
title.text('Please Select');
// anything else ...
}
你为什么还要用select呢?除了填充自定义选择框之外,您没有做任何事情。那么,实际的问题是什么?你想发生什么?我创建了一个,一切似乎都正常…只需添加title.textselect.val;或者更好:title.textselect.val | |“请选择”。只是为了确保如果默认情况下没有选择任何内容,那么您就有了“请选择”文本。@ArturFilipiak您可以让它回答吗。如果您解释为什么要添加您发布的代码以及它的作用,您可以接受您的回答,我的问题已经由@Artur Filipiak在注释中解决了,但我更感兴趣的是了解解决方案,而不仅仅是一段代码。@dom,为什么要使用循环?为什么不必要地遍历DOM?为什么这么简单的任务中有这么多代码?jQuery不应该这样使用它。@Shehary您正在创建自定义选择
因此,我们必须想方设法,已经有一些选择。为了坚持这一点,我们必须补充这一点code@Artur我没有看到你在评论中给出了极好的答案