前台如何利用JS或者JQuery使当前面的checkbox被选中后,后面的文本框不得为空。

<s:iteratorvalue="#request.onekindgoodslist"><divclass="checkbox"><label><inputtype="... <s:iterator value="#request.onekindgoodslist">
<div class="checkbox">
<label>
<input type="checkbox" id="sku" name="sku" value="${sku }" >
数量:<input type="text" id="quantity" name="quantity" >

</label>
</div>
</s:iterator>
毕业设计疑问
前台高手看这里::这是一个用struts标签做的一个循环输出, 前面是 checkbox 后面都对应一个input text。
我想要的是,如果勾选了前面的checkbox ,则后面的文本框不得为空, 否则form 就不能提交,(希望出现提示,或者提交form的时候出现提示)。。。 因为我是初学者,对前台的都不太懂,希望有人可以帮忙做一下这个功能,希望是完整的代码。
后台高手看这个: :如果前台做不来,那么action去获取的时候 值的时候,怎么保证sku和数量一一对应,而不错位呢。String[] sku=request.getParameterValues("sku");
String[] quantity=request.getParameterValues("quantity");。。。我是通过这个取值的。 然后把quantity中的空值去掉后组成一个新的quantity,然后去对应sku。 那么就会产生错位的问题,即假如第一个sku被勾选,但是后面对应的input 为空的话,则这样做的结果就是会第一个sku会对应下面的数值。希望高手提点一下,有没有其他好的取值办法,可以一一对应。
展开
 我来答
cherishjp
推荐于2016-02-18
知道答主
回答量:33
采纳率:0%
帮助的人:18.3万
展开全部
<input type="checkbox" id="sku1" name="sku" value="${sku }" >
数量:<input type="text" id="quantity1" name="quantity[]" >
首先id是唯一,如果是多个你在后面可以在循环的时候加上数字1,2,3.。。这样sku1就对应quantity1,sku2就对应quantity2,一次类推,你提交的时候先获取被选中的skuxxxxx,然后通过截取出后面的数字,和quantity链接组合成对应input的id就可以获取到对应的input的value值,if(getElementById('quantity+截取数字').value==“”)
{
//获取表单焦点,提示信息,退出js;
alert(‘xxx不能为空’);

getElementById('quantity+截取数字').focus();
return false;

}
其他的也都是根据skuxx,后面对应数字来判断input value
如果用jquery可以查看下jquery获取元素的方法,如按标签获取,做循环,会自带的一个index值
祝你好运,ps:jquery还是挺好用的
灰常了dei
推荐于2018-03-30 · TA获得超过1736个赞
知道小有建树答主
回答量:596
采纳率:60%
帮助的人:628万
展开全部

假如你点击id='btn'的按钮后验证文本框不为空

$('#btn').click(function(){
    $("input[type='checkbox']:checked").each(function(){
        if($(this).siblings("input[type='text']").val()=="")
        {
            alert("文本框不能为空");
        }
    });
});

上面的代码是checkbox和文本框在同一阶的情况下,如果两者不是同一个父级,这句(if($(this).siblings("input[type='text']").val()==""))逻辑可能要改一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bianweiall
2014-03-06 · TA获得超过168个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:114万
展开全部
$("#quantity").click(function(){
     if($("#sku").attr("checked")==true){
           alert("文本框不能为空!");
     }
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式