0

我有一个剃须刀@Html.RadioButtonFor,它的值来自@Html.TextBoxFor 值:

@Html.RadioButtonFor(m => m.Sms, document.getElementById('@(Model.Phone)').value, new { Id = Model.Sms })

问题是

document.getElementById('@(Model.Phone)').value

是一个 JavaScript 代码,在这种情况下是不正确的,但我不知道如何重写相同的代码,所以它是正确的。

4

1 回答 1

2

保罗,我不得不换一种方式:从文本框onChange,设置单选值。

看一下这个:

@model string
<!DOCTYPE html>
<html>
    <head>
        <title>ViewA</title>
        <script type="text/javascript">
            function changeRadioValue(newValue) {
                var radio = document.getElementById('idRadio');
                if (radio != null) {
                    radio.value = newValue;
                }
                else {
                    //do nothing?
                }
            }
        </script>
    </head>
    <body>
        <div>
            @Html.TextBox("theTextBox", Model, new { id = Model, onChange = "changeRadioValue(this.value)" })
            @Html.RadioButton("radio", "Default radio value", new { id = "idRadio", onClick="alert(this.value)" })
        </div>
    </body>
</html>

收音机onClick仅用于调试。

希望这可以帮助

问候

于 2012-07-18T22:12:56.607 回答