这个jquery each()选择选项有什么问题?
我有下面的功能这个jquery each()选择选项有什么问题?,jquery,each,Jquery,Each,我有下面的功能 function setDropdownValue(dropdownId,selectedValue){ $('#'+dropdownId+' option').each(function(){ if ($(this).val().toLowerCase()==selectedValue.toLowerCase()){ //found the option i was looki
function setDropdownValue(dropdownId,selectedValue){
$('#'+dropdownId+' option').each(function(){
if ($(this).val().toLowerCase()==selectedValue.toLowerCase()){
//found the option i was looking for, do what i want
$(this).val(selectedValue);
}
});
}
我正在传递dropdownId=$'dp1和selectedValue='Bat',由于某种原因,我的每个函数都没有被执行。。我是这样调用setDropdownValue$dp1,'Bat';我遗漏了什么吗???dropdownId应该只是一个字符串,为什么要传递jQuery对象$'dp1
您应该只传递'dp1'。dropdownId应该只是一个字符串,为什么要传递$'dp1,它是jQuery对象
你应该通过“dp1”来代替。试试看
$('#dp1 option').each(function(){
if ($(this).val().toLowerCase()==selectedValue.toLowerCase()){
//found the option i was looking for, do what i want
$(this).val(selectedValue);
}
});
为什么需要使用dropdownId…有时会导致一些冲突
$('#dp1 option').each(function(){
if ($(this).val().toLowerCase()==selectedValue.toLowerCase()){
//found the option i was looking for, do what i want
$(this).val(selectedValue);
}
});
为什么需要使用dropdownId…有时它会导致一些冲突我认为更好的解决方案是按如下方式编写函数,因为这样可以保持小写逻辑
function setDropdown(id, value){
var dropdown = $('#' + id);
dropdown.find('option').each(function(){
if($(this).val().toLowerCase() == value.toLowerCase()){
dropdown.val($(this).val());
return;
}
});
}
我会这样调用这个函数
setDropdown('myDropdownId', '0000-AABBCC');
我倾向于认为您应该在select上设置“val”,而不是选项本身。我以前见过这种方法的怪癖 我认为更好的解决方案是按如下方式编写函数,因为这样可以保持小写逻辑
function setDropdown(id, value){
var dropdown = $('#' + id);
dropdown.find('option').each(function(){
if($(this).val().toLowerCase() == value.toLowerCase()){
dropdown.val($(this).val());
return;
}
});
}
我会这样调用这个函数
setDropdown('myDropdownId', '0000-AABBCC');
我倾向于认为您应该在select上设置“val”,而不是选项本身。我以前见过这种方法的怪癖 除了toLowerCase之外,还有什么原因让你去做每个函数吗?您可以通过执行$+dropdownId.valselectedValue设置select的值;您也在选项上调用.val函数,而不是在select.how上调用…?通过whick事件…?除了您已经得到的toLowerCase之外,您执行每个函数有什么原因吗?您可以通过执行$+dropdownId.valselectedValue设置select的值;您还在选项上调用.val函数,而不是在select.how上调用…??通过whick事件。。。??