jQuery:如何选择其相应按钮已被单击的表单元素?

jQuery:如何选择其相应按钮已被单击的表单元素?,jquery,Jquery,我这里有一个JSFIDLE- 我的jQuery函数 $(function() { $('form input[type="text"]').live('keyup', function() { var val = $.trim(this.value); $('form .create-playlist-button').prop('disabled', val.length == 0).click(function(){ alert

我这里有一个JSFIDLE-

我的jQuery函数

$(function() {
    $('form input[type="text"]').live('keyup', function() {
        var val = $.trim(this.value);
        $('form .create-playlist-button').prop('disabled', val.length == 0).click(function(){
            alert('ALERT TITLE HERE');
          });
    });
});​
要求

$(function() {
    $('form input[type="text"]').live('keyup', function() {
        var val = $.trim(this.value);
        $('form .create-playlist-button').prop('disabled', val.length == 0).click(function(){
            alert('ALERT TITLE HERE');
          });
    });
});​
  • 单击下拉菜单->输入文本->点击创建
    我想选择相应的表单元素,如标题、视图等。这不是现在发生的

  • 当我点击“创建”时,它会一次又一次地发出警报,我怎样才能避免呢

我对jQuery非常陌生,读了一些地方,但没有找到解决方案

多谢各位

更新
-------------


Jeff的答案用小提琴演奏,但当我把它放在我的代码上时,它在点击时什么也不做。我把整个代码样本都放在这把小提琴里了,请帮我理解这里出了什么问题

首先,每次触发“向上键”事件时,您都将绑定单击事件。这意味着警报将针对播放列表标题中的每个字符至少触发一次。您需要绑定已准备就绪的“即使点击”文档

$(function() {
    $('form input[type="text"]').live('keyup', function() {
        var val = $.trim(this.value);
        $('form .create-playlist-button').prop('disabled', val.length == 0)
    });
    $('form .create-playlist-button').click(function(){
        alert('ALERT TITLE HERE');
    });
});​
第二个,您正在使用重复的ID。页面上有许多具有

<div id="video-detail">

您可以访问。

由于我的声誉,我无法发表评论,但新的问题是您正在搜索
类而不是
id

您的代码:

$('.item').live('click', function(){
    // alert(this.id);
    var url = $('#video-frame').attr('src');
    var new_url = url.replace(/embed\/[\w -]*/g, 'embed/' + this.id);
    $('#video-frame').attr('src', new_url);
});
正确的代码(第一行):


到目前为止你试过什么?根据“最好的堆栈溢出问题有一点源代码在里面”。这个更新看起来像是一个完全不同的代码库和一个完全不同的问题。你应该结束这个问题,然后用另一个问题问一个新问题。问多个问题不太适合StackOverflow格式。新的fiddle不起作用,因为您没有包含用于
$.fn.slides()
的jQuery插件。谢谢您伟大的回答@Jeff,它确实适用于fiddle,但我的js文件中有一些不正确的地方,您能发现吗?现在发生了什么?当我点击时,什么都没有发生。这是那把小提琴——你是对的,但它仍然是一个错误!您必须理解JQuery选择器中
id
class
之间的区别。
$('.item').live('click', function(){
    // alert(this.id);
    var url = $('#video-frame').attr('src');
    var new_url = url.replace(/embed\/[\w -]*/g, 'embed/' + this.id);
    $('#video-frame').attr('src', new_url);
});
$('#item').live('click', function(){
    // alert(this.id);
    var url = $('#video-frame').attr('src');
    var new_url = url.replace(/embed\/[\w -]*/g, 'embed/' + this.id);
    $('#video-frame').attr('src', new_url);
});