jquery的validate,当ID为动态时如何写?

forgottenp 2011-03-16 11:28:52
RT,当ID为静态时,可以这样写
var msg = "${msg?default("")}";
$().ready(function() {
$("#form").validate({
rules: {
workflowName1: 'required', },
messages: {
workflowName1: '名称不能为空',
}
});
if(msg)
alert(msg);
});

但是,由于我ID为form的表单里面的东西是动态添加的,譬如当再添加多一个Input的时候,其ID为workflowName2,总个数为i;
那么这个时候,怎么写才能使validate能够动态判断呢?
我试过直接
var test ="workflowName1";
var msg = "${msg?default("")}";
$().ready(function() {
$("#form").validate({
rules: {
test : 'required', },
messages: {
test : '名称不能为空',
}
});
if(msg)
alert(msg);
});

发现test变量和函数里面的根本都不是同一个来的,也就是不能直接用外面var定义的变量

我JS不怎么会用,希望指教一下 谢谢
...全文
231 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
forgottenp 2011-03-16
  • 打赏
  • 举报
回复
谢谢楼上的回答,但是你的那个是不是指定ID为myinput的来操作的吧.但是现在我的ID是变化的.就是可能有workflowName1,然后还有workflowName2,workflowName3这样,我需要对他们都设置判断部位空
lazyboy_wu 2011-03-16
  • 打赏
  • 举报
回复

$("#myinput").rules("add", {
required: true,
minlength: 2,
messages: {
required: "Required input",
minlength: jQuery.format("Please, at least {0} characters are necessary")
}
});


多看手册
lazyboy_wu 2011-03-16
  • 打赏
  • 举报
回复


var init = false;

function init() {
$("#form").validate({});
init = true;
}

function addelement() {
//获取当前元素的ID
var id = “xxxx”;

//添加了元素
addElement(id);

if(!init) {
init();
}

//为什么不在这里添加validate的规则
$("#"+id).rules("add", {});
}

forgottenp 2011-03-16
  • 打赏
  • 举报
回复
哦哦,谢谢楼上咯,就是在动态增加ID的函数内加上$("#"+id).rules("add", {});
不过,为啥
$().ready(function() {
$("#form").validate({});
}
的函数只能在这当前页面而不能写在JS文件中呢.然后这个写在当前页面...我动态添加的也要写在当前页面,不然$("#"+id).rules("add", {});么用

白啊白,不过小问题咯..谢谢您的回答
lazyboy_wu 2011-03-16
  • 打赏
  • 举报
回复
你既然能动态产生元素,那么为什么不在产生元素的同时,去添加规则呢。。。



$('#click').click(function(){

//获取当前元素的ID
var id = “xxxx”;

//添加了元素
addElement(id);

//为什么不在这里添加validate的规则
$("#"+id).rules("add", {});

});


87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧