Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC和JQuery Mobile:Radiobutton在post上释放状态_Javascript_Jquery_Asp.net Mvc_Jquery Ui_Jquery Mobile - Fatal编程技术网

Javascript MVC和JQuery Mobile:Radiobutton在post上释放状态

Javascript MVC和JQuery Mobile:Radiobutton在post上释放状态,javascript,jquery,asp.net-mvc,jquery-ui,jquery-mobile,Javascript,Jquery,Asp.net Mvc,Jquery Ui,Jquery Mobile,我在一个页面上使用Jquery Mobile,该页面设置为data ajax=“false”,以便在加载时始终刷新内容 javascript设置了document.ready()上的radiobutton状态(选中/未选中),但它仅在GET请求上成功 当我点击save按钮,页面在发布后再次加载时,选择就消失了 @using (Html.BeginForm()) { @Html.HiddenFor(x => x.CurrentCulture); <input ty

我在一个页面上使用Jquery Mobile,该页面设置为data ajax=“false”,以便在加载时始终刷新内容

javascript设置了document.ready()上的radiobutton状态(选中/未选中),但它仅在GET请求上成功

当我点击save按钮,页面在发布后再次加载时,选择就消失了

    @using (Html.BeginForm())
{
  @Html.HiddenFor(x => x.CurrentCulture);

    <input type="radio" name="radio-language" id="radio-language-eng" value="en-US" />
    <label for="radio-language-eng">English</label>
    <input type="radio" name="radio-language" id="radio-language-esp" value="es-MX" />
    <label for="radio-language-esp">Spanish</label>
    <input type="submit" value="Save Changes" />
}

<script type="text/javascript">
  $(document).ready(function () {
    var currentCulture = $("#CurrentCulture").val();
    $('input[type=radio][name=radio-language]').checkboxradio();
    $("#radio-language-eng").prop("checked", currentCulture == "en-US");
    $("#radio-language-esp").prop("checked", currentCulture == "es-MX");
    $('input[type=radio][name=radio-language]').checkboxradio("refresh");

    $('input[type=radio][name=radio-language]').change(function () {
      $("#radio-language-eng").prop("checked", this.value == "en-US");
      $("#radio-language-esp").prop("checked", this.value == "es-MX");
      $("#CurrentCulture").val(this.value);
    });
  });
</script>
@使用(Html.BeginForm())
{
@HiddenFor(x=>x.CurrentCulture);
英语
西班牙的
}
$(文档).ready(函数(){
var currentCulture=$(“#currentCulture”).val();
$('input[type=radio][name=radio language]')。checkboxradio();
$(“#无线电语言英语”).prop(“选中”,currentCulture==“en US”);
$(“#无线电语言esp”).prop(“选中”,currentCulture==“es MX”);
$('input[type=radio][name=radio language]')。checkboxradio(“刷新”);
$('input[type=radio][name=radio language]')。更改(函数(){
$(“#无线电语言工程”).prop(“选中”,this.value==“en-US”);
$(“#无线电语言esp”).prop(“选中”,this.value==“es MX”);
$(“#CurrentCulture”).val(此.value);
});
});

检查hiddenfield的值,它保存了正确的区域性,那么为什么radiobutton会松开它的状态?

您可以将包含脚本的代码替换为
radiobutton()
,并强绑定到您的模型。注意:您需要为按钮提供一个
id
属性,以处理相关标签并防止无效的html

@Hml.RadioButtonFor(m => m.CurrentCulture, "en-US", new { id = "eng" })
@Html.Label("eng", "English")
@Hml.RadioButtonFor(m => m.CurrentCulture, "es-MX", new { id = "esp" })
@Html.Label("esp", "Spanish")

你说的“单选按钮松开状态”是什么意思?与使用
@Hml.RadioButtonFor(m=>m.CurrentCulture,“en-US”)
简单地将单选按钮绑定到属性
CurrentCulture
相比,这一切的意义是什么(对于“es MX”同上),我正在尝试根据模型值检查.ready()上的“正确”radiobutton。如果使用html帮助程序是一种更好的方法,那么我将对此进行研究。删除隐藏的输入,根据我最后的评论使用2 x
@Hml.radiobutton()
,并删除脚本。非常感谢!那很有魅力!!(设置回复,我将其标记为应答)