Fix some issues with parsing blank options.
This commit is contained in:
parent
7778ef0cb2
commit
15a5366aad
|
@ -214,7 +214,7 @@
|
|||
data = _ref[_i];
|
||||
if (data.group) {
|
||||
content += this.result_add_group(data);
|
||||
} else {
|
||||
} else if (!data.empty) {
|
||||
content += this.result_add_option(data);
|
||||
if (data.selected && this.is_multiple) {
|
||||
this.choice_build(data);
|
||||
|
@ -443,7 +443,7 @@
|
|||
_ref = this.results_data;
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
option = _ref[_i];
|
||||
if (!option.disabled) {
|
||||
if (!option.disabled && !option.empty) {
|
||||
if (option.group) {
|
||||
$(option.dom_id).hide();
|
||||
} else if (!(this.is_multiple && option.selected)) {
|
||||
|
@ -696,7 +696,8 @@
|
|||
};
|
||||
OptionsParser.prototype.add_option = function(option, group_id, group_disabled) {
|
||||
var _ref;
|
||||
if (option.nodeName === "OPTION" && (this.sel_index > 0 || option.text !== "")) {
|
||||
if (option.nodeName === "OPTION") {
|
||||
if (option.text !== "") {
|
||||
if (group_id || group_id === 0) {
|
||||
this.parsed[group_id].children += 1;
|
||||
}
|
||||
|
@ -711,6 +712,11 @@
|
|||
},
|
||||
group_id: group_id
|
||||
});
|
||||
} else {
|
||||
this.parsed.push({
|
||||
empty: true
|
||||
});
|
||||
}
|
||||
return this.sel_index += 1;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -211,7 +211,7 @@
|
|||
data = _ref[_i];
|
||||
if (data.group) {
|
||||
content += this.result_add_group(data);
|
||||
} else {
|
||||
} else if (!data.empty) {
|
||||
content += this.result_add_option(data);
|
||||
if (data.selected && this.is_multiple) {
|
||||
this.choice_build(data);
|
||||
|
@ -447,7 +447,7 @@
|
|||
_ref = this.results_data;
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
option = _ref[_i];
|
||||
if (!option.disabled) {
|
||||
if (!option.disabled && !option.empty) {
|
||||
if (option.group) {
|
||||
$(option.dom_id).hide();
|
||||
} else if (!(this.is_multiple && option.selected)) {
|
||||
|
@ -715,7 +715,8 @@
|
|||
};
|
||||
OptionsParser.prototype.add_option = function(option, group_id, group_disabled) {
|
||||
var _ref;
|
||||
if (option.nodeName === "OPTION" && (this.sel_index > 0 || option.text !== "")) {
|
||||
if (option.nodeName === "OPTION") {
|
||||
if (option.text !== "") {
|
||||
if (group_id || group_id === 0) {
|
||||
this.parsed[group_id].children += 1;
|
||||
}
|
||||
|
@ -730,6 +731,11 @@
|
|||
},
|
||||
group_id: group_id
|
||||
});
|
||||
} else {
|
||||
this.parsed.push({
|
||||
empty: true
|
||||
});
|
||||
}
|
||||
return this.sel_index += 1;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -189,7 +189,7 @@ class Chosen
|
|||
for data in @results_data
|
||||
if data.group
|
||||
content += this.result_add_group data
|
||||
else
|
||||
else if !data.empty
|
||||
content += this.result_add_option data
|
||||
if data.selected and @is_multiple
|
||||
this.choice_build data
|
||||
|
@ -397,7 +397,7 @@ class Chosen
|
|||
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
|
||||
|
||||
for option in @results_data
|
||||
if not option.disabled
|
||||
if not option.disabled and not option.empty
|
||||
if option.group
|
||||
$(option.dom_id).hide()
|
||||
else if not (@is_multiple and option.selected)
|
||||
|
@ -597,7 +597,8 @@ class OptionsParser
|
|||
@group_index += 1
|
||||
|
||||
add_option: (option, group_id, group_disabled) ->
|
||||
if option.nodeName is "OPTION" and (@sel_index > 0 or option.text != "")
|
||||
if option.nodeName is "OPTION"
|
||||
if option.text != ""
|
||||
if group_id || group_id is 0
|
||||
@parsed[group_id].children += 1
|
||||
@parsed.push
|
||||
|
@ -608,6 +609,9 @@ class OptionsParser
|
|||
selected: option.selected
|
||||
disabled: ((group_disabled is true) ? group_disabled : option.disabled)
|
||||
group_id: group_id
|
||||
else
|
||||
@parsed.push
|
||||
empty: true
|
||||
@sel_index += 1
|
||||
|
||||
OptionsParser.select_to_array = (select) ->
|
||||
|
|
|
@ -184,7 +184,7 @@ class Chosen
|
|||
for data in @results_data
|
||||
if data.group
|
||||
content += this.result_add_group data
|
||||
else
|
||||
else if !data.empty
|
||||
content += this.result_add_option data
|
||||
if data.selected and @is_multiple
|
||||
this.choice_build data
|
||||
|
@ -389,7 +389,7 @@ class Chosen
|
|||
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
|
||||
|
||||
for option in @results_data
|
||||
if not option.disabled
|
||||
if not option.disabled and not option.empty
|
||||
if option.group
|
||||
$(option.dom_id).hide()
|
||||
else if not (@is_multiple and option.selected)
|
||||
|
@ -595,7 +595,8 @@ class OptionsParser
|
|||
@group_index += 1
|
||||
|
||||
add_option: (option, group_id, group_disabled) ->
|
||||
if option.nodeName is "OPTION" and (@sel_index > 0 or option.text != "")
|
||||
if option.nodeName is "OPTION"
|
||||
if option.text != ""
|
||||
if group_id || group_id is 0
|
||||
@parsed[group_id].children += 1
|
||||
@parsed.push
|
||||
|
@ -606,6 +607,9 @@ class OptionsParser
|
|||
selected: option.selected
|
||||
disabled: ((group_disabled is true) ? group_disabled : option.disabled)
|
||||
group_id: group_id
|
||||
else
|
||||
@parsed.push
|
||||
empty: true
|
||||
@sel_index += 1
|
||||
|
||||
OptionsParser.select_to_array = (select) ->
|
||||
|
|
Loading…
Reference in a new issue