jQuery22中的代码有什么问题
你能看到这个代码有什么问题吗?我有一个表单,有两个输入文本框和两个提交按钮,当用户单击第二个按钮时 它应该列出以字母“J”开头的所有月份,但由于某些原因,它不会运行jQuery22中的代码有什么问题,jquery,Jquery,你能看到这个代码有什么问题吗?我有一个表单,有两个输入文本框和两个提交按钮,当用户单击第二个按钮时 它应该列出以字母“J”开头的所有月份,但由于某些原因,它不会运行 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>submit demo</title> <style> p { margin: 0; color: blue;
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>submit demo</title>
<style>
p {
margin: 0;
color: blue;
}
div,p {
margin-left: 10px;
}
span {
color: red;
}
</style>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>Type 'correct' to validate.</p>
<form action="javascript:alert( 'success!' );">
<div>
<input type="text" >
<input type="text" id ='months' >
<input type="submit" >
<input type="submit" id ="other" >
</div>
</form>
<span></span>
<script>
$( "form" ).submit(function( event ) {
if ( $( "input:first" ).val() === "correct" ) {
$( "span" ).text( "Validated..." ).show();
return;
}
$( "span" ).text( "Not valid!" ).show().fadeOut( 1000 );
event.preventDefault();
});
$(document). ready(function() {
$( "#other" ).click(function() {
var months = [ 'January', 'February', 'March', 'April', 'May',
'June', 'July', 'August', 'September', 'October',
'November', 'December'];
months = $.grep(months, function(value, i) {
return ( value.indexOf('J') == 0 );
});
$(' #months').html( '<li>' + months.join('</li><li>') + '</li>' );
});
})
</script>
</body>
</html>
提交演示
p{
保证金:0;
颜色:蓝色;
}
分区,p{
左边距:10px;
}
跨度{
颜色:红色;
}
键入“correct”进行验证
$(“表格”)。提交(功能(事件){
如果($(“输入:第一个”).val()=“正确”){
$(“span”).text(“已验证…”)。show();
返回;
}
$(“span”).text(“无效!”).show().fadeOut(1000);
event.preventDefault();
});
$(文件)。就绪(函数(){
$(“#其他”)。单击(函数(){
var月数=['一月'、'二月'、'三月'、'四月'、'五月',
‘六月’、‘七月’、‘八月’、‘九月’、‘十月’,
“11月”、“12月”];
月份=$.grep(月份,函数(值,i){
返回值(value.indexOf('J')==0);
});
$(“#months”).html(“”+months.join(“ ”)+“ ”);
});
})
我修复了您的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>submit demo</title>
<style>
p {
margin: 0;
color: blue;
}
div,p {
margin-left: 10px;
}
span {
color: red;
}
</style>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>Type 'correct' to validate.</p>
<form action="javascript:alert( 'success!' );">
<div>
<input type="text" >
<input type="text" id ='months' >
<input type="submit" >
<input type="submit" id ="other" >
</div>
</form>
<span></span>
<ul id="m"></ul>
<script>
$(document). ready(function() {
$( "form" ).submit(function( event ) {
event.preventDefault();
if ( $( "input:first" ).val() === "correct" ) {
$( "span" ).text( "Validated..." ).show();
return;
}
$( "span" ).text( "Not valid!" ).show().fadeOut( 1000 );
});
$( "#other" ).click(function() {
var months = [ 'January', 'February', 'March', 'April', 'May',
'June', 'July', 'August', 'September', 'October',
'November', 'December'];
$(months).each(function() {
if(this.indexOf('J') === 0)
$("#m").html($("#m").html()+"<li>"+this+"</li>");
});
});
});
</script>
</body>
提交演示
p{
保证金:0;
颜色:蓝色;
}
分区,p{
左边距:10px;
}
跨度{
颜色:红色;
}
键入“correct”进行验证
$(文件)。就绪(函数(){
$(“表格”)。提交(功能(事件){
event.preventDefault();
如果($(“输入:第一个”).val()=“正确”){
$(“span”).text(“已验证…”)。show();
返回;
}
$(“span”).text(“无效!”).show().fadeOut(1000);
});
$(“#其他”)。单击(函数(){
var月数=['一月'、'二月'、'三月'、'四月'、'五月',
‘六月’、‘七月’、‘八月’、‘九月’、‘十月’,
“11月”、“12月”];
$(月)。每个(功能(){
if(this.indexOf('J')==0)
$(“#m”).html($(“#m”).html()+”“+this+” ”);
});
});
});
您应该在单击事件的第一行使用event.preventDefault(),在表迭代中使用jQuery函数each()。为什么一些代码在
$(文档)之外。ready()
?months
是一个输入元素,而不是要使用的div/spanhtml()
请参见Woah,jQuery是否已经在版本号22上了?那时我一定在岩石下生活了一两个世纪。