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,21 +696,27 @@
|
|||
};
|
||||
OptionsParser.prototype.add_option = function(option, group_id, group_disabled) {
|
||||
var _ref;
|
||||
if (option.nodeName === "OPTION" && (this.sel_index > 0 || option.text !== "")) {
|
||||
if (group_id || group_id === 0) {
|
||||
this.parsed[group_id].children += 1;
|
||||
if (option.nodeName === "OPTION") {
|
||||
if (option.text !== "") {
|
||||
if (group_id || group_id === 0) {
|
||||
this.parsed[group_id].children += 1;
|
||||
}
|
||||
this.parsed.push({
|
||||
id: this.sel_index + this.group_index,
|
||||
select_index: this.sel_index,
|
||||
value: option.value,
|
||||
text: option.text,
|
||||
selected: option.selected,
|
||||
disabled: (_ref = group_disabled === true) != null ? _ref : {
|
||||
group_disabled: option.disabled
|
||||
},
|
||||
group_id: group_id
|
||||
});
|
||||
} else {
|
||||
this.parsed.push({
|
||||
empty: true
|
||||
});
|
||||
}
|
||||
this.parsed.push({
|
||||
id: this.sel_index + this.group_index,
|
||||
select_index: this.sel_index,
|
||||
value: option.value,
|
||||
text: option.text,
|
||||
selected: option.selected,
|
||||
disabled: (_ref = group_disabled === true) != null ? _ref : {
|
||||
group_disabled: option.disabled
|
||||
},
|
||||
group_id: group_id
|
||||
});
|
||||
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,21 +715,27 @@
|
|||
};
|
||||
OptionsParser.prototype.add_option = function(option, group_id, group_disabled) {
|
||||
var _ref;
|
||||
if (option.nodeName === "OPTION" && (this.sel_index > 0 || option.text !== "")) {
|
||||
if (group_id || group_id === 0) {
|
||||
this.parsed[group_id].children += 1;
|
||||
if (option.nodeName === "OPTION") {
|
||||
if (option.text !== "") {
|
||||
if (group_id || group_id === 0) {
|
||||
this.parsed[group_id].children += 1;
|
||||
}
|
||||
this.parsed.push({
|
||||
id: this.sel_index + this.group_index,
|
||||
select_index: this.sel_index,
|
||||
value: option.value,
|
||||
text: option.text,
|
||||
selected: option.selected,
|
||||
disabled: (_ref = group_disabled === true) != null ? _ref : {
|
||||
group_disabled: option.disabled
|
||||
},
|
||||
group_id: group_id
|
||||
});
|
||||
} else {
|
||||
this.parsed.push({
|
||||
empty: true
|
||||
});
|
||||
}
|
||||
this.parsed.push({
|
||||
id: this.sel_index + this.group_index,
|
||||
select_index: this.sel_index,
|
||||
value: option.value,
|
||||
text: option.text,
|
||||
selected: option.selected,
|
||||
disabled: (_ref = group_disabled === true) != null ? _ref : {
|
||||
group_disabled: option.disabled
|
||||
},
|
||||
group_id: group_id
|
||||
});
|
||||
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,17 +597,21 @@ 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 group_id || group_id is 0
|
||||
@parsed[group_id].children += 1
|
||||
@parsed.push
|
||||
id: @sel_index + @group_index
|
||||
select_index: @sel_index
|
||||
value: option.value
|
||||
text: option.text
|
||||
selected: option.selected
|
||||
disabled: ((group_disabled is true) ? group_disabled : option.disabled)
|
||||
group_id: group_id
|
||||
if option.nodeName is "OPTION"
|
||||
if option.text != ""
|
||||
if group_id || group_id is 0
|
||||
@parsed[group_id].children += 1
|
||||
@parsed.push
|
||||
id: @sel_index + @group_index
|
||||
select_index: @sel_index
|
||||
value: option.value
|
||||
text: option.text
|
||||
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,17 +595,21 @@ 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 group_id || group_id is 0
|
||||
@parsed[group_id].children += 1
|
||||
@parsed.push
|
||||
id: @sel_index + @group_index
|
||||
select_index: @sel_index
|
||||
value: option.value
|
||||
text: option.text
|
||||
selected: option.selected
|
||||
disabled: ((group_disabled is true) ? group_disabled : option.disabled)
|
||||
group_id: group_id
|
||||
if option.nodeName is "OPTION"
|
||||
if option.text != ""
|
||||
if group_id || group_id is 0
|
||||
@parsed[group_id].children += 1
|
||||
@parsed.push
|
||||
id: @sel_index + @group_index
|
||||
select_index: @sel_index
|
||||
value: option.value
|
||||
text: option.text
|
||||
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