<div class="span6">
<div class="control-group">
<label class="control-label">User Name<span class="required">*</span></label>
<div class="controls">
<?php
foreach($res as $key=>$value){
foreach($value as $ind=>$username){
echo '<div class="controls users">'.form_checkbox('username[]', $username).$username.'</div>';
}
}
?>
</div>
</div>
</div>
<div class="span6">
<div class="control-group">
<label class="control-label">Programs<span class="required">*</span></label>
<?php
$ids = explode(',', $program_id);
foreach($programs as $value){
?>
<div class="controls programs">
<?php echo '<label class="radio">'.form_radio('programs', $value->id).$value->program_name.'</label>' ?>
<div class="listings <?php echo $value->id ?>"></div>
</div>
<?php } ?>
<input type="button" name="reset" value="Reset" id="reset"/>
<input type="button" name="submit" value="Ok" id="oksubmit"/>
</div>
</div>
我有用戶和程序。我想添加用戶程序,我正在使用jquery.I已添加多個用戶程序。問題是我不想爲相同的程序添加兩次用戶。如何做到這一點。我在jQuery中嘗試了以下,但無濟於事。如何不使用jquery添加重複數據
<script type="text/javascript">
$(document).ready(function(e) {
$('.programs div.listings').slideUp();
$('#oksubmit').click(function(){
var error = false;
var temp = '';
var selusers = $('div.users span.checked input').map(function(_,el){
return $(el).val();
}).get();
var prgm = $('div.programs span.checked input').val();
if(selusers == ''){
alert('Select at least 1 user.');
var error = true;
return false;
}
if(prgm == ''){
alert('Select 1 program.');
var error = true;
return false;
}
if(! error){
$('div.'+prgm).slideDown();
$('div.users span.checked').each(function(){
var value=$(this).find('input[type="checkbox"]').val();
if($('div.'+prgm).children().length > 0){
$('div.'+prgm).children().each(function(){
var childval = $('div.list input').val();
if(value == childval){alert('a');
alert('Error');
var error = true;
return false;
}else{
alert('n');
}
})
if(! error){
temp += '<div class="list"><input type="text" value="'+value+'" readonly></input><a class="delete" id="'+value+'">X</a></div>';
}
}else{
temp += '<div class="list"><input type="text" value="'+value+'" readonly></input><a class="delete" id="'+value+'">X</a></div>';
}
})
$('div.'+prgm).append(temp);
}
});
</script>
任何建議/幫助是welcome.Thanks提前。
我的解決辦法:
$('#oksubmit').click(function(){
$('div.users span.checked').each(function(){
var flag = true;
var value = $(this).find('input[type="checkbox"]').val();
var child = $('div.'+prgm).find('.list').size();
var temp = '<div class="list"><input type="text" name="selusers['+prgm+'][]" value="'+value+'" readonly></input><a class="delete btn-danger" id="'+value+'"><i class="icon-remove icon-white"></i></a></div>';
$('div.'+prgm).find('div.list').each(function(ind,val){
var childval = $(this).find('input').val();
if(value == childval){
flag =false;
alert('Cant add '+value+' twice in same program');
return false;
}
});
if(flag){
$('div.'+prgm).append(temp);
}else{
//alert('b')
}
})
})
可以節省大家如果您在jsfiddle上放置了一個工作示例,則需要付出一些努力(並因此獲得更快的響應)。乾杯 –
我的回答對你有幫助嗎? –