javascript - 从 <select> 标签返回一个数字

标签 javascript html angular

我正在尝试获取选择标记中的选项以数字而不是字符串形式返回。这是我的 html:

 <form  #fSearchPropertiesByBedrooms (submit)="searchPropertiesByBedrooms(bathrooms)">
         <select type="number" name="bathrooms" [(ngModel)]="bathrooms">
           <option value="1">1</option>
           <option type="number" value="2">2</option>
           <option value="3">3</option>
           <option value="4">4</option>
         </select>
         <button type="submit" class="button button-primary button-xs button-green" (click)="removeSearch()">Submit</button>
       </form>

我认为将 type 设置为 number 可以解决问题,但事实并非如此!我正在使用的功能是:

  searchPropertiesByBedrooms(bathrooms: number) {
    console.log('bathrooms:', bathrooms);
    this.properties = this._propertyManage.searchPropertiesByBedrooms(bathrooms).valueChanges();
  }

但是,当我使用它作为输入字段时,它确实将其返回为数字,但由于某种原因,使用选择标记它会将其返回为字符串。

最佳答案

创建一个数字数组并使用ngFor循环它。然后使用[ngValue]分配值。

<select type="number" name="bathrooms" [(ngModel)]="bathrooms">
           <option *ngFor="let item of items" [ngValue]="item"  > {{item}}</option> 
 </select>

items: number[] = [1,2,3,4]

关于javascript - 从 <select> 标签返回一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50964675/

相关文章:

javascript - 当 Webkit 中元素的样式发生更改时,如何使用 JavaScript 进行检测? (因为 DomAttrModified 似乎不受支持)

Angular2 异常 : ngClass within a Host, "isn' t 一个已知的原生属性”

javascript - 变量值未附加到 h2 元素中

javascript - FileReader readAsText() 异步问题?

javascript - 如果在对象中找到,则使用 jQuery 中的另一个属性

javascript - 将父 div 扩展到 TALLEST 绝对定位子项的高度

javascript - 如果选中单选按钮更改,请确保按钮被按下

javascript - 为什么我可以通过一些但不是全部的 NodeList forEach?

javascript - 在 Angular 4/5/6/7 中对不同组件使用不同的样式表

Angular 2 RC 5 - Observable.interval 触发变化检测