【问题标题】:How to get the boolean value based on radio button selected in html using angular如何根据使用角度在html中选择的单选按钮获取布尔值
【发布时间】:2020-04-16 19:46:36
【问题描述】:

我已经创建了两个单选按钮,如 Order 和 Cart,如下所示,我只想获得 TRUE(如果选中单选按钮,并且默认情况下选中 Order 按钮),如果未在 app 中选中,则返回 FALSE。 Angular JS 中的 component.ts 文件。

app.component.html

<div class="container">
    <form>
      <label class="radio-inline">
        <input type="radio" name="optradio" checked id="place_Oreder">Order
      </label>
      <label class="radio-inline">
        <input type="radio" name="optradio" id="add_cart">Cart
      </label>
    </form>
  </div>

我刚刚编写了以下代码,如果两个按钮上都有 onclick,则布尔值将发生变化:

isSelectedMSM:boolean=false;
isSelectedLive:boolean=false;

$(document).ready(function(){
  $("#place_Oreder").click(function(){
    this.isSelectedOrder=true;
  });
});

$(document).ready(function(){
  $("#add_cart").click(function(){
    this.isSelectedcart=true;
  });
});

我不确定如何根据用户选择的单选按钮在 app.components 文件中打印 TRUE 或 FALSE,因为我需要放置 if 条件并调用适当的服务来调用。

有人可以帮助我实现这一目标吗?我只是用谷歌搜索,但我没有找到合适的资源来实现它。如果有人分享您的经验来解决这个问题,那将非常有帮助。

更新:

我不确定上面的代码是否有效。但是有人可以指导我如何以更好的方式实现这一目标。

【问题讨论】:

  • 你的代码在哪里
  • 这里实际上没有任何角度代码。查看数据绑定、点击处理程序等的一些示例。
  • 我是 Angular 新手,不知道如何在 Angular js 中做到这一点。所以这里发布的问题。
  • @aw04 在您发表评论后才意识到。不过用ngForm 发布了答案。
  • @ArrcanaMohan 我建议查看angular.io/start 的文档,这里有一些很好的示例/教程可以帮助您入门。祝你好运:)

标签: javascript html angular typescript


【解决方案1】:

一个简单的click 事件就可以解决问题

<label class="radio-inline">
      <input type="radio" name="optradio" checked id="place_Oreder" (click)="onClick('order')">Order
</label>
<label class="radio-inline">
      <input type="radio" name="optradio" id="add_cart" (click)="onClick('cart')">Cart
</label>

comp.ts

onClick(item) {
    if(item == 'order')
       this.isSelectedOrder = true;
    else if(item == 'cart')
       this.isSelectedCart = true;
}

【讨论】:

    【解决方案2】:

    您可以为此使用ngForm,将 ref 传递给函数和组件,根据需要获取值。

    Demo(检查控制台。)

    HTML

    <div class="container">
        <form #myForm="ngForm" (submit)="submitForm(myForm)">
            <label class="radio-inline">
            <input ngModel type="radio" name="optradio" checked value="true" id="place_Oreder">Order
          </label>
            <label class="radio-inline">
            <input ngModel type="radio" name="optradio" value="false">Cart
          </label>
            <button type="submit">Submit</button>
        </form>
    </div>
    

    组件

    submitForm(form: NgForm) {
        console.log(form.value);
      }
    

    【讨论】:

    • 是否需要在模块文件中导入上述代码中的任何模块?
    • 只需要import { FormsModule } from '@angular/forms';。检查演示。
    • 是否可以在不创建提交按钮的情况下获取值。点击提交按钮后似乎触发了该值
    • 我只想在单击单选按钮后立即获取该值。
    • 在这种情况下,您不需要表单,只需(click) 函数即可。 stackblitz.com/edit/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2016-04-05
    • 2013-07-19
    • 1970-01-01
    • 2021-07-21
    • 2019-01-17
    相关资源
    最近更新 更多