Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态添加的文本字段上的Jquery.keyup_Php_Javascript_Jquery_Drupal - Fatal编程技术网

Php 动态添加的文本字段上的Jquery.keyup

Php 动态添加的文本字段上的Jquery.keyup,php,javascript,jquery,drupal,Php,Javascript,Jquery,Drupal,如何为动态添加的文本字段添加keyup事件。我正在用drupal开发web应用程序。当我尝试使用“live”时,菜单不起作用 $('input[id$="-code"], input[id$="-case"], input[id$="-vehicle-no"]') .live('keyup', function(e){ $(this).val($(this).val().toUpperCase()); }); 为了避免代码中的混乱,在动态添加的输入字段中添加一个类,这样对您来说就很容易了

如何为动态添加的文本字段添加keyup事件。我正在用drupal开发web应用程序。当我尝试使用“live”时,菜单不起作用

$('input[id$="-code"], input[id$="-case"], input[id$="-vehicle-no"]')
.live('keyup', function(e){
   $(this).val($(this).val().toUpperCase());
});

为了避免代码中的混乱,在动态添加的输入字段中添加一个类,这样对您来说就很容易了。无论如何,使用live将起作用。看看这把小提琴

“@Swardfish..在我的例子中,在“AddRow”按钮点击后,它会创建一个包含四个文本字段的行。其中有“vehicle no”文本字段。我只想为特定的文本字段添加此事件。我如何根据这一点自定义您的代码..”

听起来您正在创建新行,其中包含要将keyup事件附加到的字段。如果是这样,那么同一页上可能有多个元素具有相同的ID


相反,正如Swardfish所建议的那样,将一个类添加到希望附加keyup事件的字段中(在jQuery选择器中使用该类),并删除id属性,只使用name属性(但不使用jQuery选择器的name属性-您不需要它).

你也可以用另一种方式来做。尽管这会违反“不要重复你自己”。请参阅jquery常见问题解答中的本节。不要使用live,只需将.keyup()与选择器一起使用即可。在动态创建元素的代码下面再次声明这些绑定。在$(document).ready()方法中的代码中的某个地方使用以下命令

在动态创建这些元素的代码下面,将

$('input[id$="-code"], input[id$="-case"], input[id$="-vehicle-no"]')
.unbind('keyup').keyup(function(e){
$(this).val($(this).val().toUpperCase());
});

如果其他事情都好的话,它应该会起作用。试试看。

对于JQuery上的新元素,您可以使用live函数。但如果您使用Drupal,则必须使用行为。
我真的不太明白你的问题,但我读到你尝试使用live,所以我认为这可能会有帮助

你说的“不工作”是什么意思?您应该在提问时添加所有相关信息。@Swardfish..在我的例子中,单击“AddRow”按钮后,它会创建一个包含四个文本字段的行。其中有“vehicle no”文本字段。仅针对特定的文本字段,我想添加此事件。如何根据该事件自定义您的代码..@user731060:只包含
class=“b”
在您希望将keyup事件附加到的字段中。@user731060只需为您希望引发事件的字段指定一个类即可。车辆id\u没有文本字段在每个rowGood点上都是不同的。但是ID属性实际上并不是必需的。您可以改为使用name属性,以避免风险。
$('input[id$="-code"], input[id$="-case"], input[id$="-vehicle-no"]')
.unbind('keyup').keyup(function(e){
$(this).val($(this).val().toUpperCase());
});