jQuery:如何选择其相应按钮已被单击的表单元素?
我这里有一个JSFIDLE- 我的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
$(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');
});
});
});
- 单击下拉菜单->输入文本->点击创建
我想选择相应的表单元素,如标题、视图等。这不是现在发生的 - 当我点击“创建”时,它会一次又一次地发出警报,我怎样才能避免呢
-------------
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);
});