jQuery和LT;选择> &LT价值;形式>总是空 [英] jQuery <select> value of <form> always null

查看:127
本文介绍了jQuery和LT;选择> &LT价值;形式>总是空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经做了很多次,这是一个容易的事,但有什么错在这里,我只是看不到的问题。当选择从该下拉列表中提出,.value的始终为空。我知道比这更好的。但是我看不到的问题。有谁在这个code看到一个问题?

在我_Layout.cshtml我打电话,返回一个局部视图控制器动作:

  @ {Html.RenderAction(LanguageListPartial,账户);}

局部视图:

  @ Html.DropDownListFor(
    X => x.SelectedLanguage,
    Model.Languages​​,
    新{@class =的形式控制}

在下拉菜单呈现罚款:

HTML:

 <形式方法=邮报行动=/帐号/ ListPartial>
    <选择名称=SelectedLanguageID =SelectedLanguage>
        <期权价值=EN-US>英语< /选项>
        <期权价值=FR-CA>法语< /选项>
        <期权价值=PT-BR>葡萄牙语< /选项>
        <期权价值=ES-MX>&西班牙语LT; /选项>
    < /选择>
< /表及GT;< D​​IV ID =测试>< / DIV>

jQuery的号召变化:

  @ Scripts.Render(〜/包/ jQuery的)
@ Scripts.Render(〜/包/ jQueryUI的)
@ Scripts.Render(〜/包/引导)
@RenderSection(脚本,必需:false)<脚本类型=文/ JavaScript的>
    $(文件)。就绪(函数(){
        $(函数(){
            $('#SelectedLanguage')。在('变化',函数(){
                VAR一个= $(本).VAL();
                $('#测试)加载(/帐号/ TestPartial /+一);
                返回false;
            });
        });
    });
< / SCRIPT>< /身体GT;
< / HTML>


解决方案

试试这个:

 <脚本类型=文/ JavaScript的>
    $(文件)。就绪(函数(){
        $(函数(){
            $('#SelectedLanguage')。在('变化',函数(){
                VAR一个= $(本).VAL();
                $('#测试)加载(/帐号/ TestPartial /+一);
                返回false;
            });
        });
    });
 < / SCRIPT>

I've done this many times and it's a cinch, but there's something wrong here and I just can't see the problem. When a selection is made from this dropdown list, .value is always null. I know better than that. But I can't see the problem. Does anyone see a problem in this code?

In my _Layout.cshtml I'm calling a Controller Action that returns a partial view:

@{Html.RenderAction("LanguageListPartial", "Account");} 

The Partial View:

@Html.DropDownListFor(
    x => x.SelectedLanguage,
    Model.Languages,
    new { @class = "form-control }
)

The dropdown renders fine:

HTML:

<form method="post" action="/Account/ListPartial">
    <select name="SelectedLanguage" id="SelectedLanguage">
        <option value="en-US">English</option>
        <option value="fr-CA">Francais</option>
        <option value="pt-BR">Portugues</option>
        <option value="es-MX">Espanol</option>
    </select>
</form>

<div id="test"></div>

jQuery called on change:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryUI")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)

<script type="text/javascript">
    $(document).ready(function () {
        $(function () {
            $('#SelectedLanguage').on('change', function () {
                var a = $(this).val();
                $('#test').load("/Account/TestPartial/" + a);
                return false;
            });
        });
    });
</script>

</body>
</html>

解决方案

Try this:

<script type="text/javascript">
    $(document).ready(function () {
        $(function () {
            $('#SelectedLanguage').on('change', function () {
                var a = $(this).val(); 
                $('#test').load("/Account/TestPartial/" + a);
                return false;
            });
        });
    });
 </script>

这篇关于jQuery和LT;选择&GT; &LT价值;形式&GT;总是空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆