小编Hal*_*ist的帖子

Angular <select> 绑定到对象确认更改或恢复到以前的值

我试图实现非常简单的<select>行为:如果用户取消更改,则恢复到以前的值。事实上,我成功了,但这花了我几个小时,而且我仍然对实施不满意,因为它不是那么明显和棘手。

所以,这是模板:

<select id="states" class="form-control" name="states" [ngModel]="selectedState"
        (ngModelChange)="onStateChange(selectedState, $event)">
    <option [ngValue]="null">All</option>
    <option *ngFor="let state of states" [ngValue]="state">{{state.name}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

和组件:

export class AppComponent {
  selectedState: State = null;

  states: State[] = [
    { name: 'Alabama', population: 100000 },
    { name: 'Alaska', population: 50000 }
  ];

  onStateChange(previousState: State, state: State): void {
    // If we're changing state from "All" to any, it's OK
    if (previousState === null) {
      this.selectedState = state;
      return;
    }
    // Otherwise we want the user to …
Run Code Online (Sandbox Code Playgroud)

confirm html-select revert angular2-ngmodel angular

6
推荐指数
1
解决办法
4026
查看次数

在 iframe 中获取带有 class 的元素

iframe我的页面上有几个s。有一些元素test内部带有类名。我需要style为它们设置任何一个。

当我只有一个时iframe,我可以使用下一个构造:

$('#iframeId').contents().find('.test').css({background: '#f00'});
Run Code Online (Sandbox Code Playgroud)

但我有几个iframe,所以最好不要设置混凝土iframe并使用如下结构:

$('.test').css({background: '#f00'});
Run Code Online (Sandbox Code Playgroud)

但这当然行不通。

getElementsByClassName之前用过native,但是在 中不起作用IE8,出现缺陷。

这可能是一个愚蠢的问题,但是..有没有类似的结构:

$(getElementById('something')).css({background: '#f00'});
Run Code Online (Sandbox Code Playgroud)

这会很有帮助。我的意思是,JavaScript用对象包装对象jQuery,然后使用jQuery它们的方法。

更新:我通过下一个构建解决了这个问题:

[].forEach.call(document.getElementById('something').querySelectorAll('.test'), function (el) {
    el.style.backgroundColor = '#f00';
});
Run Code Online (Sandbox Code Playgroud)

但它仍然不起作用IE8

javascript iframe jquery internet-explorer-8

5
推荐指数
1
解决办法
2万
查看次数