diff --git a/.gitignore b/.gitignore index 312f307..fb76e4b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ sea-modules _site dist spm_modules +coverage diff --git a/src/select.handlebars b/src/select.handlebars index da1ab41..5abb162 100644 --- a/src/select.handlebars +++ b/src/select.handlebars @@ -1,12 +1,12 @@
diff --git a/src/select.js b/src/select.js index 97cc1f5..d8ce2b2 100644 --- a/src/select.js +++ b/src/select.js @@ -63,7 +63,7 @@ var Select = Overlay.extend({ }, templateHelpers: { - output: function(data) { + toString: function(data) { return data + ''; } }, @@ -162,10 +162,10 @@ var Select = Overlay.extend({ // 同步 html 到 model var model = this.get('model'); if (oldSelectIndex >= 0) { - model.select[oldSelectIndex].selected = false; + model.options[oldSelectIndex].selected = false; } if (selectIndex >= 0) { - model.select[selectIndex].selected = true; + model.options[selectIndex].selected = true; } this.set('model', model); @@ -206,7 +206,7 @@ var Select = Overlay.extend({ }, addOption: function(option) { - var model = this.get("model").select; + var model = this.get("model").options; model.push(option); this.syncModel(model); return this; @@ -235,7 +235,7 @@ var Select = Overlay.extend({ enableOption: function(option) { var index = getOptionIndex(option, this.options); - var model = this.get("model").select; + var model = this.get("model").options; model[index].disabled = false; this.syncModel(model); return this; @@ -243,7 +243,7 @@ var Select = Overlay.extend({ disableOption: function(option) { var index = getOptionIndex(option, this.options); - var model = this.get("model").select; + var model = this.get("model").options; model[index].disabled = true; this.syncModel(model); return this; @@ -416,7 +416,7 @@ function convertSelect(select, classPrefix) { if (!hasDefaultSelect && model.length) { model[0].selected = 'true'; } - return {select: model, classPrefix: classPrefix}; + return {options: model, classPrefix: classPrefix}; } // 补全 model 对象 @@ -438,7 +438,7 @@ function completeModel(model, classPrefix) { } else { //当所有都没有设置 selected 则默认设置第一个 newModel[0].selected = true; } - return {select: newModel, classPrefix: classPrefix}; + return {options: newModel, classPrefix: classPrefix}; } function getOptionIndex(option, options) { diff --git a/tests/select-spec.js b/tests/select-spec.js index 0e0f4c4..8bad419 100644 --- a/tests/select-spec.js +++ b/tests/select-spec.js @@ -54,7 +54,7 @@ describe('select', function() { trigger: '#example' }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].defaultSelected).to.be(false); expect(model[0].selected).to.be(true); expect(model[0].value).to.be('value1'); @@ -71,7 +71,7 @@ describe('select', function() { trigger: '#example' }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].defaultSelected).to.be(false); expect(model[0].selected).to.be(false); expect(model[0].value).to.be('value1'); @@ -88,7 +88,7 @@ describe('select', function() { trigger: '#example' }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].disabled).to.be(false); expect(model[1].disabled).to.be(true); }); @@ -99,7 +99,7 @@ describe('select', function() { trigger: '#example' }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].defaultSelected).to.be(true); expect(model[0].selected).to.be(false); expect(model[0].value).to.be('value1'); @@ -120,7 +120,7 @@ describe('select', function() { ] }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].defaultSelected).to.be(false); expect(model[0].selected).to.be(true); expect(model[0].value).to.be('value1'); @@ -141,7 +141,7 @@ describe('select', function() { ] }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].defaultSelected).to.be(false); expect(model[0].selected).to.be(false); expect(model[0].value).to.be('value1'); @@ -162,7 +162,7 @@ describe('select', function() { ] }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model[0].defaultSelected).to.be(true); expect(model[0].selected).to.be(false); expect(model[0].value).to.be('value1'); @@ -179,7 +179,7 @@ describe('select', function() { trigger: '#example' }).render(); - var model = select.get("model").select; + var model = select.get("model").options; expect(model.length).to.be(0); }); @@ -639,11 +639,11 @@ describe('select', function() { ] }).render(); select.select(0); - expect(select.get('model').select[0].selected).to.be.ok(); + expect(select.get('model').options[0].selected).to.be.ok(); select.select(1); - expect(select.get('model').select[1].selected).to.be.ok(); + expect(select.get('model').options[1].selected).to.be.ok(); select.select(2); - expect(select.get('model').select[2].selected).to.be.ok(); + expect(select.get('model').options[2].selected).to.be.ok(); }); it('html original select should be visiable', function() { @@ -666,9 +666,9 @@ describe('select', function() { {value: 'value4', text: 'text4', selected: true} ] }).render(); - expect(select.get('model').select[0].selected).not.to.be.ok(); - expect(select.get('model').select[1].selected).not.to.be.ok(); - expect(select.get('model').select[2].selected).not.to.be.ok(); - expect(select.get('model').select[3].selected).to.be.ok(); + expect(select.get('model').options[0].selected).not.to.be.ok(); + expect(select.get('model').options[1].selected).not.to.be.ok(); + expect(select.get('model').options[2].selected).not.to.be.ok(); + expect(select.get('model').options[3].selected).to.be.ok(); }) });