【问题标题】:Get Selected Values from Drop down List从下拉列表中获取选定的值
【发布时间】:2019-03-07 08:26:35
【问题描述】:

我已经在我正在使用 AngularJS 的项目中实现了一个下拉列表。

HTML sn-p如下:

<input-multiselect [list]="transactionState" placeholder="Choose Your Transaction State">
<ng-container class="c-legend">Transaction status</ng-container>
</input-multiselect> 

我正在使用一个数组和一个 switch case 来存储下拉列表中需要的值,以应对几种不同的情况。

JS代码如下:

export class SearchPageComponent implements OnInit {
    transactionState: Array<any>;
    setTransactionDropdown() {
        switch (this.userGroup) {
            case 5:
               this.transactionState = [
                  { value: 'READY_INV', label: 'Ready for Invites' },
                  { value: 'NOT_READY_INV', label: 'Not Ready for Invites' },
               ];
               break;
          }
     }

我想要做的是有一个函数可以访问this.transactionState 并获取已选择的值,以便我可以将这些值传递给另一个函数。

谁能帮我解决这个问题?有没有更好的方法可以使用?

提前致谢!

【问题讨论】:

  • 您在寻找 Change 事件吗?
  • @PrashantPimpale 是的,在更改时(当用户从​​多选中选择一些时)我希望能够获得这些值。

标签: javascript angular


【解决方案1】:

我找到的解决方案是在每个案例的末尾添加一个函数调用,有一个标志让我知道检查了什么。标志是value: true 请在下面找到代码sn-p:

case 1:
        this.transactionState = [
          { value: true , code: 'INV_SENT', label: 'Invites Sent' },
        this.getTransactionStateInfo();

函数本身循环遍历名为this.transactionState 的对象,并获取标记为true 的值并将它们推送到另一个我可以用于其他事情的数组。

getTransactionStateInfo() {
    const transactionStateObj: any = [];
    this.transactionState.forEach((i) => {
      if (i.value === true) {
        console.log(i.code);
        transactionStateObj.push(i.code);
      }
    });
 }

【讨论】:

    猜你喜欢
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2019-11-30
    相关资源
    最近更新 更多