jquery更改函数不在下拉列表中工作

时间:2012-03-05 07:11:18

标签: jquery asp.net asp.net-mvc-3

<script type="text/javascript">

$(document).ready(function () {
 $("#title").change(function () {

        var abc = $(this).val();//previously i mentioned this in "" by mistake please update it.
        alert(abc);

    });

});
</script>


Datepicker对我来说很好,更改功能在JSfiddle也能正常工作

但在我的应用程序中不知道它出了什么问题。

更新
我认为jquery无法将“title”识别为有效id
Proff:我在我的DropDownList上使用onchange javascript函数,如下所示

 @Html.DropDownListFor(model => model.title, new[] {
 new SelectListItem { Text = blueddPES.Resources.PES.Resource.mr,Value = "Mr" },
 new SelectListItem { Text =blueddPES.Resources.PES.Resource.mrs,Value = "Mrs"},
 new SelectListItem { Text = blueddPES.Resources.PES.Resource.miss,Value = "Miss"},
 new SelectListItem { Text =blueddPES.Resources.PES.Resource.other,Value = "Other"}
 }, "select", new { onChange = "copyText()" })



<script type="text/javascript">
   function copyText() {
    var vall = document.getElementById("title").value;
    alert(vall);
    }
</script>


现在当dropdownvalue更改时,警告框会带有未定义的文本;

4 个答案:

答案 0 :(得分:2)

替换此行

  

$( “这”)VAL();

要 这个

$(this).val();

答案 1 :(得分:1)

如果您找不到包含其ID的元素,您也可以尝试使用

 <select onchange="alert(this.value);">
 ...
 </select>

 <select onchange="copyText(this);">
 ...
 </select>


<script type="text/javascript">
   function copyText(that) {

    }
</script>

答案 2 :(得分:0)

你必须使用

$("this").val()

答案 3 :(得分:0)

如果在加载页面后创建了元素,则只需使用live

$("#title").live('change', function() {

        var abc = $(this).val();
        alert(abc);

    });

如果您使用的是JQUERY 1.7或更高版本,请使用.on()