jQuery:更改不触发,也不点击

时间:2013-11-28 04:29:23

标签: javascript jquery html click

我有一个非常复杂的脚本,但能够复制更改in a simple jsfiddle

以下是本地代码:

HTML

<input type="text" id="rangeStart" value="updateMe" /><br/>
<input type="text" class="start-date" value="different" /><br/>
<input type="text" class="start-date" value="data" /><br/>
<input type="button" id="button" value="Press Me" />

的Javascript

jQuery('#rangeStart').change(function() {
    var value = jQuery(this).val();
    jQuery('.start-date').each(function () {
        jQuery(this).val(value); 
    });
});;

jQuery('#button').click(function () {
    alert("pressed");
    jQuery('rangeStart').val('new value');
});

单击该按钮甚至不会触发警报消息!我确定我错过了一些简单的事情,但我已经盯着它看了一个小时而无法理解它,所以我顺便提到xkcd.com/627并寻求帮助。

谢谢!

4 个答案:

答案 0 :(得分:3)

试试这个: - http://jsfiddle.net/adiioo7/Ehes7/4/

您忘记包含jQuery库。

答案 1 :(得分:0)

稍微改变一下再试一次:

$(function(){
  $('#rangeStart').change(function() {
    var value = $(this).val();
    $('.start-date').each(function () {
        $(this).val(value); 
    });
  });;

  $('#button').click(function () {
    alert("pressed");
    $('#rangeStart').val('new value');
  });

});

答案 2 :(得分:0)

尝试以下操作,jquery未在jsfiddle中加载。更好地使用“每个函数”可以使代码更具可读性(使用参数)。  http://jsfiddle.net/UY3hE/1/

  

$('#rangeStart')。change(function(){

    var value = $(this).val();
    $('.start-date').each(function (i,itm) {
        $(itm).val(value); 
    });
});

$('#button').click(function () {
    alert("pressed");
    $('rangeStart').val('new value');
});

答案 3 :(得分:-1)

这里需要做两件事......

  1. 确保jQuery在之前加载,例如

    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script>
        // your script here
    </script>
    
  2. 运行脚本 后,相关元素是文档的一部分或(更常规),在document ready event handler内运行脚本,例如

    jQuery(function($) {
        // your script here
    });