change()函数不适用于选择列表项

时间:2013-08-10 11:08:41

标签: jquery html

HI朋友我想在option value中显示一个alert box,其中显示我在select Item list时更改但我没有这样做,我的代码在下面,或者您也可以看到演示这里http://jsfiddle.net/EXnkk/1/

HTML

<select name="select" id="editorFont">
                              <option value="arial">font 1</option>
                              <option value="alex_brushregular">font 2</option>
                              <option value="quicksandregular">font 3</option>
                            </select>

SCRIPT

$('select#editorFont').change(function (){
                var value = $(this).children('option').val;
                alert(value);
            })

请帮助朋友

提前致谢.. :))

3 个答案:

答案 0 :(得分:4)

尝试

$('select#editorFont').on('change',function (){
    var value = $(this).val();
    alert(value);
});

您需要将其放入DOM ready。请参阅DEMO

答案 1 :(得分:0)

它可以简单地用作

$('#editorFont').change(function (){
            var value = $(this).val();
            alert(value);
        });

答案 2 :(得分:-2)

您需要使用回拨功能

在当前效果100%完成后执行回调函数。

JavaScript语句逐行执行。但是,通过效果,即使效果未完成,也可以运行下一行代码。这可能会造成错误。

为防止这种情况,您可以创建一个回调函数。

在当前效果结束后执行回调函数。

典型语法:$(selector).hide(speed,callback);

<强>实施例

以下示例有一个回调参数,该参数是在隐藏效果完成后执行的函数:

$("button").click(function(){
  $("p").hide("slow",function(){
    alert("The paragraph is now hidden");
  });
});

以下示例没有回调参数,隐藏效果完成前将显示警告框:

$("button").click(function(){
  $("p").hide(1000);
  alert("The paragraph is now hidden");
});

获取内容 - text(),html()和val()

$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});