Jquery:需要检查组合框中的值列表
Jquery : Need to check a list of values in a combo box
我完全不知道如何制作它。这是我的问题。
我有 n 个自定义组合框(从服务器端动态创建)。现在我想存储每个组合框的值,并需要由客户端进行验证。如果组合框中的任何一个 val() == 0(我的意思是没有选择任何选项),那么我需要显示一条错误消息。如果选择了所有组合框值,那么我需要在弹出窗口中显示一个div。如果我单击保存按钮,则必须执行所有这些操作。
由于这些组合框是动态呈现的,因此我无法使用其 ID。我的想法是给出一个名为 combo 的类名,需要验证。这是我的代码,
HTML(动态生成)
<select class="combo">
<option selected="selected" value="0"></option>
<option value="1">Employee First Name (HR)</option>
<option value="2">Employee last Name (HR)</option>
<option value="3">Employee number (HR)</option>
<option value="4">NINO (HR)</option>
</select>
jQuery
$(document).ready(function(){
$('#save').click(function(){
var myLength = $('.combo option:selected').length;
alert(myLength);
if(myLength > 0){
alert('popups here');
count=count+1;
alert(count);
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$('#mask').css({'width':maskWidth,'height':maskHeight});
$('#mask').fadeTo("fast",0.8);
var winH = $(window).height();
var winW = $(window).width();
$('.popups').css('top',winH/2-$('.popups').height()/2);
$('.popups').css('left',winW/2-$('.popups').width()/2);
$('.popups').show();
}
else
{
alert('No popups');
}
return false;
});
});
这个想法行不通。请建议如何进行...非常感谢:)
var trace = false;
$('#save').on('click', function() {
$('select.combo').each(function() {
if(this.value == 0){
trace = true;
return;
}
});
if(trace) {
// all combo not selected
alert('Please select all combo');
trace = false;
} else {
// all selected
alert('Thanks..');
}
});
这种方法怎么样:
$('#save').click(function(){
var comboLength = $('.combo').length;
var selectedLength = $('.combo option:selected[value!=0]').length;
if (comboLength == selectedLength) { /* code for valid case*/}
else { /*code for invalid case*/; return false;}
})
TRY
.HTML
<select class="combo" multiple="multiple">
<option selected="selected" value="0" >--SELECT ONE--</option>
<option value="1">Employee First Name (HR)</option>
<option value="2">Employee last Name (HR)</option>
<option value="3">Employee number (HR)</option>
<option value="4">NINO (HR)</option>
jQuery
var foo = {};
$('#submit').live('click', function() {
$('select.combo').each(function(i) {
var selected = $(this).val();
foo[i] = selected;
});
//this will remove first value ( blank having value=0)
var finalOutput = jQuery.grep(foo[0], function(value) {
//this will unselect the blank value
$('.combo option:eq(0)').prop('selected', false);
return value != "0";
});
if ($.isEmptyObject(finalOutput)) {
alert('please select atlest one')
}
else {
alert('Output:' + finalOutput)
}
})
Working DEMO
相关文章:
- 接受不在列表中的值-引导组合框
- Extjs 3.4如何强制组合框重新加载其下拉列表
- Extjs 4.2.1滚动到组合下拉列表中的选择
- 将带有方括号的字符串转换为组合方括号内容的列表
- 在下拉列表中显示树的组合框
- 验证 2 个下拉列表(只有某些组合有效)
- 在XMPP pubsub中,订阅者可以检索订阅列表或将其与MUC组合
- 如何从多维数组填充列表框(组合框)
- Jquery:需要检查组合框中的值列表
- Angularjs :从列表中选择组合
- 在HTML表中搜索-组合多个值(下拉列表、文本字段)
- 在列表出现后,是否可以从ZK组合框中删除焦点
- 在视图中使用compile in指令和ng repeat的组合会阻止正确更新范围元素列表
- 我将如何在列表中附加所有组合
- 按值获取下拉列表/组合框的索引(客户端)
- 从带有输入框列表的Angular自定义指令中获取组合字符串
- 引导程序下拉列表中的剑道组合框
- 组合日期,从月和年列表中获得天数基础
- 隐藏extjs组合框的下拉列表
- 如何将3个选择列表组合成单个输入文本字段