使用jQuery的children()方法遇到的问题

项目中一个页面上循环生成了多个表单, 每个表单都有一个submit按钮, 单个提交, 提交之前要做验证, 从当前要提交的表单中获取input的值,  并进行验证, 用到了children()方法, 但是突然发现有的节点获取不到, 查看文档, 发现children方法时这样介绍的

鉴于一个jQuery对象,表示一个DOM元素的集合,.children()方法允许我们通过在DOM树中对这些元素的直接子元素进行搜索,并且构造一个新的匹配元素的jQuery对象。.find()和.children()方法是相似的,但后者只是针对向下一个级别的DOM树。还要注意的是和大多数的jQuery方法一样,.children()不返回文本节点;让所有子元素包括使用文字和注释节点,建议使用.contents()。

原来 children()只能获取当前对象的下一级节点, 但是页面结构是这样的, 这样就导致能获取到locationId, 但是不能获取到 placeStartDate 的值, 然后在网上查, 发现了直接用jQuery的选择器 $(selector, context) 传入参数即可, 第一个是选择器, 第二个是 jQuery 对象, 

	<s:iterator value="form.list" var="vals"> 
		<li>
			<form method="post" action="ajax/saveXmlContent.do">
				<input name="form.locationId" id="locationid"
					value="<s:property value="form.locationId"/>" type="hidden" /> <input
					name="form.language" id="language"
					value="<s:property value="form.language"/>" type="hidden" /> <input
					name="form.xmltype" id="xmltype"
					value="<s:property value="form.xmltype"/>" type="hidden" /> <input
					name="form.xmlUrl" id="xmlUrl"
					value="<s:property value="form.xmlUrl"/>" type="hidden" /> <input
					name="bootForm.contentId" id="contentId" type="hidden"
					value="<s:property value="#vals.contentId"/>" />
				<div class="num">
					<s:property value="#vals.weight" />
				</div>
				<div class="tdiv info">
					
					<div class="tdiv i5">
						
					

						<div class="tdiv i51">
							



							
							<!-- 日期选择 -->
							<div id="time">
								<div class="tdiv mWidth500">
									<ul class="tdiv dateInterval">
										<li class="dateType"><label>开始日期</label> <input
											type="text" name="amsRecommendConfig.placeStartDate"
											id="placeStartDate"
											value="<s:property value="#vals.placeStartDate"/>" /></li>
										<li class="dateType"><label>结束日期</label> <input
											type="text" name="amsRecommendConfig.placeEndDate"
											id="placeEndDate"
											value="<s:property value="#vals.placeEndDate"/>" /></li>
									</ul>
								</div>

							</div>
							<div class="tdiv i52">
								<button class="btn submit" type="submit" id="submit"
									name="submit_<s:property value="#vals.contentId"/>"
									οnclick="submitContent(this)">确认保存</button>
							</div>
						</div>

					</div>
			</form>
		</li>

	</s:iterator>

function beforeSubmitForm(curform){
		
		var obj = $(curform[0]).get(0);
		var jqObj = $(obj);
		
		var xmltype = jqObj.children("input#xmltype").val();
		if (xmltype == 1){
			var inputStartDate = new Date($("#placeStartDate",jqObj).val().replace(/-/g,"-"));
			var inputEndDate = new Date($("#placeEndDate",jqObj).val().replace(/-/g,"-"));
			console.log(inputStartDate + "---" + inputEndDate);
			
			if(inputStartDate>inputEndDate){
				$.ligerDialog.error("开始日期应在结束日期之前!");
				return false;
			}else{
				return true;
			}
			
		
			
		}else{
			return true;
		}
		
	}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值