【发布时间】:2012-08-18 21:51:07
【问题描述】:
我正在使用 Jquery 多选复选框插件,在将返回的 (CSV) 值转换为数组时遇到错误。虽然严格来说这不是一个 jQuery 问题,但它似乎会在标准 js 方法上引发错误。 这是我所拥有的:
$(function(){
$("select").multiselect({
click: function(e){
if( $(this).multiselect("widget").find("input:checked").length > 4 ){
return false;
}
},
close:function(evt, ui) { // Get the selected values upon close
var which = $(this).attr('id'); // Find out which selectbox was open
var checkedVals = $('#'+which).val(); // Get CSV string of checked options
var valArray = checkedVals.split(','); // convert CSV string to array
for(a in valArray) {
currentBox = ('#'+which+'Box'); // Find current selectbox wrapper
var eHeight;
eHeight = $('p'+currentBox).height(); // Current wrapper height
$('p'+currentBox).height(eHeight+18); // Add 18px to current wrapper for each Value
$('p'+currentBox).append('<div style="line-height:18px; margin-left:90px;"><a href="#"><img class="deleteVal" src="images/closewin.png" align="texttop" border="0"></a> '+valArray[a]+'</div>');
}
}
}).multiselectfilter();
我得到一个逗号分隔的字符串,我想使用 js 将它放入一个数组中。 错误 - “checkedVals.split 不是函数” - 在这一行抛出: var valArray = checkedVals.split(',');
【问题讨论】:
-
什么是
checkedVal?是否存在 ID 为which的元素?由于 ID 是唯一的,$("#" + which)实际上应该只是$(this)。你能张贴一些标记吗? -
checkedVals 是一个多重选择方法,它返回 csv 字符串......我把它找回来了。是的……每个选择框都有一个唯一的 ID……实际上,任何数量的选择框都可以正常工作。我唯一的问题是拆分方法。也许它必须移到多选“关闭”功能之外??
标签: javascript jquery