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

<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会对应下面的数值。希望高手提点一下,有没有其他好的取值办法,可以一一对应。

<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还是挺好用的
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-30

假如你点击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()==""))逻辑可能要改一下

第2个回答  2014-03-06
$("#quantity").click(function(){
     if($("#sku").attr("checked")==true){
           alert("文本框不能为空!");
     }
});

HTML表单里怎样用JS检查checkbox勾选了并且文本框有内容
这个是用jQuery判断的,其中的id是需要你修改的当然你也可以用class。而这个判断如果直接写在js里因为只判断一次所以当你改变的时候也许会判断错误,在判断之前要交一个复选框改变时间或者文本框改变事件,也就是change()时间。合在一起就是 ("#复选框的id").click(function(){ if($("#id").att...

当多复选框的其中一个被选中时,立即触发一个效果,用js或者jquery...
jq代码。("input[type='checkbox']").click(function(){ if( $("input[type='checkbox']:checked").length>0){ \/\/当复选框选中值大于0,触发一个效果 }else{ \/\/否则,效果消失。} })如果不是你要的效果,追问

JS 怎么控制 checkbox 选中
方法\/步骤 1) 通过js的元素选择器选择对应的元素DOM对象,如通过通过元素ID方式获:var el = document.getElementById('元素ID')2) 获取到DOM对象后,可以通过设置该对象的checked属性来修改其选中状态:\/\/ 设置元素为选中状态el.checked = true;\/\/ 设置元素为未选中状态el.checked = false;注意事项...

在HTML中当我选中一些checkbox按钮后如何将其中的值在text或下拉框中...
7200 3620 3640 3600 2600 <fieldset> 设备类型

java 点击按钮判断checkbox选择是否为空,为空跳出提示框并返回之前页...
1、最好将按钮设置为button。2、checkbox是一组的话,就判断一下是否有未选中的就好,用js或者jquery都可以实现。3、判断为空用window.location.href跳转,不为空,form提交就可以

...的一行选中当前行的多选框,用js或者jquery怎么实现?在线等,急...
$(function(){$("table tr").click(function(){var input = $(this).find("input[type=checkbox]");\/\/获取checkbox\/\/判断当前checkbox是否为选中状态if(input.attr("checked")){input.attr("checked",false);}else{input.attr("checked",true);}})}) 选择 姓名 日期 ...

javascript中如何实现:页面有五个复选框,如何选中三个后其余的两个变 ...
游泳 var i=0;var box=document.getElementsByName("hobby");for( var j=0;j<box.length;j++){ box[j].onclick=function(){ if(this.checked){ i++;if(i>=3){ for(k=0;k<box.length;k++){ if(!box[k].checked){ box[k].disabled=true;} } } }else{ i--;for(k=0;...

jquery \/ js 获取当前操作(选中或取消选择)的checkbox的值
你好,你可以这样做判断, var ck=$("#checkbox的id");然后判断ck.checked 如果为true,说明为选择状态,为false 为未选择状态。希望是你想要的答案,请点击采纳,举手之劳,能激励我继续为别人答题,谢谢!

怎样用JS判断复选框的值是否为空
判断是否被选中:jQuery:$("input[type='checkbox']").is(':checked')js:if(document.getElementById("id值").checked){ alert("checkbox is checked");} 判断是否有值 就是判断value jQuery可以这样$("input[type='checkbox']").attr('value')具体怎么用,就按照实际情况了 ...

我用jquery的$("#..").val("")清空text框时,赋值都成功了,但是那个文 ...
应该是你id重复了 :比如这样:<!DOCTYPE html> $(function(){ $("#btn1").on("click", function(){ $("#a1").val("");\/\/根据id清除 相同id 只第一个清除 });

相似回答