Skip to content

Commit 656c448

Browse files
committed
fix #428
1 parent 7349037 commit 656c448

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

blocks/select/select.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,9 @@ nb.define('select', {
360360
var selected;
361361

362362
if (params.value) {
363-
selected = this.$control.find('option[value="' + params.value + '"]');
363+
selected = this.$control.find('option[value="' + params.value + '"]').first();
364364
} else {
365-
selected = this.$control.find('option:contains(' + params.text + ')');
365+
selected = this.$control.find('option:contains(' + params.text + ')').first();
366366
}
367367

368368
if (selected.length !== 0) {

unittests/spec/select/select.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,12 @@ describe("Select Tests", function() {
604604
expect(flag).to.equal(1);
605605
});
606606

607+
608+
it("#422", function() {
609+
nb.find('select-texttext').setState({'text': 'Text'});
610+
expect(nb.find('select-texttext').$node.find('._nb-button-content').html()).to.equal('Text');
611+
});
612+
607613
it("XSS in _setText", function() {
608614
this.select.addToSource({
609615
'selected': true,

unittests/spec/select/select.yate

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,5 +150,22 @@ nb-select({
150150
})
151151

152152

153+
nb-select({
154+
'id': 'select-texttext'
155+
'items': [
156+
{
157+
'value': ''
158+
'text': 'Text'
159+
'selected': false()
160+
}
161+
{
162+
'value': 'whatever'
163+
'text': 'Text'
164+
'selected': false()
165+
}
166+
]
167+
})
168+
169+
153170

154171
}

0 commit comments

Comments
 (0)