获取RadioButton值Razor MVC

时间:2018-04-10 11:11:19

标签: javascript c# jquery asp.net-mvc-4 razor

我有一个带有true和false值的单选按钮列表。我想获得更改点击事件的价值,以便我可以用它来显示条件标签。如果是真的;如果它的假标签不同,我会展示一个标签。它是一个项目列表,所以我正在循环它..

这是我到目前为止所做的:

型号:

public List<bool>answerValues { get; set; }

查看:

<td> 
   @Html.RadioButtonFor(model => model.answerValues[i], true, new { id = 
    "TrueValueID", @onclick = "buttonValue()"}) True

   @Html.RadioButtonFor(model=> model.answerValues[i], false, new { id = 
    "FalseValueID", @onclick ="buttonValue()" }) False 
</td>

的JavaScript

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
 <script>
      function buttonValue(e) {
          alert(e.value);
      }

  </script>

在Controller - Action方法(Get)中,我想获取true / false值,以便根据值显示/隐藏。

我不熟悉Razor / MVC。任何帮助将受到高度赞赏!

3 个答案:

答案 0 :(得分:3)

您错过了this,应该使用buttonValue(this)

<td> 
   @Html.RadioButtonFor(model => model.answerValues[i], true, new { id = 
    "TrueValueID", @onclick = "buttonValue(this)"}) True

   @Html.RadioButtonFor(model=> model.answerValues[i], false, new { id = 
    "FalseValueID", @onclick ="buttonValue(this)" }) False 
</td>

在行动中:

function buttonValue(e) {
  alert(e.value);

  if (e.value === 'true') {
    alert('it is true');
  } else {
    alert('it is false');
  }

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="test" value="true" onclick="buttonValue(this)" />
<input type="radio" name="test" value="false" onclick="buttonValue(this)" />

  

我想获得真/假值,以便我可以根据值显示/隐藏

单选按钮返回on如果选中,则显示标签,如果值返回on,则显示另一个标签。您也可以为value或布尔值等单选按钮设置<input type="radio" value="true"...

答案 1 :(得分:0)

您应该为所有单选按钮使用name属性。

然后在JQuery中

$('input:radio[name=RADIO_NAME]').change(function () {
        var value = $('input:radio[name=RADIO_NAME]:checked').val();
        switch(value).....

    });

答案 2 :(得分:0)

我希望这会对你有所帮助。

剃刀代码

  

这里我们可以在单选按钮上设置公共类来绑定更改事件   在js。

<td> 
       @Html.RadioButtonFor(model => model.answerValues[i], true, new { id = 
        "TrueValueID", @class="rdbtnanswervalue"}) True

       @Html.RadioButtonFor(model=> model.answerValues[i], false, new { id = 
        "FalseValueID", @class="rdbtnanswervalue" }) False 
    </td>

Js代码

<script>
$(function () {
    $(".rdbtnanswervalue").on("change", function () {

        // for current value
        alert($(this).val());

        // for all radio button with same class uncomment below code.

        //$(".rdbtnanswervalue").each(index, ele)
        //{
        //    // get value and perfom action acordingly.
        //    alert($(ele).val())

        //}
    })
})