Famo.us如何创建Select Surface或类似的东西

时间:2014-06-20 03:59:23

标签: famo.us

我需要一个带选项的选择框和一个on select / on更改,这样我就可以填充第二个选择框。

我的第一直觉是使用带有click事件的表面和renderController / scrollview来创建一个以使我的下拉列表出现。这非常有效,除非我离开并返回页面时,scrollview的zindex会断开并滚动容器大小。

这是我需要处理的一个错误,但我的另一个问题是,随着小型Iphone屏幕尺寸的传统下降只会占用大量的屏幕空间。

这个stackoverflow famo.us: how to handle textbox.onchange events对如何编辑InputSurface有一些很好的提示。我想使用它并查看Surface的代码我可以做到但没有运气。

关于如何处理缺少选择表面的任何想法?

1 个答案:

答案 0 :(得分:1)

您可以从回调函数中访问value属性:

function SelectSurface(options) {
  Surface.apply(this, arguments);
  this.onchange = options.onchange;
  this._superDeploy = Surface.prototype.deploy;
  SelectSurface.prototype.elementType = 'select';
}

SelectSurface.prototype = Object.create(Surface.prototype);
SelectSurface.prototype.constructor = SelectSurface;

SelectSurface.prototype.deploy = function deploy(target) {
  target.onchange = this.onchange;
  this._superDeploy(target);
};

var regionSelector = new SelectSurface({
  size:[140,40],
  onchange: regionSelect(),
  content: '<option disabled selected style="display:none;">REGION</option><option value="central">CENTRAL</option><option value="northern">NORTHERN</option><option value="pacific">PACIFIC</option><option value="southern">SOUTHERN</option><option value="western">WESTERN</option>',
});

var regionSelect = function(){
  return function() {
    alert(this.value);
  }
};