有这样写JS的同学吗?感觉很不地道,放上来肯定会被喷的。里面还插入了php代码,但是我需要的功能都实现了!哇哈哈@
点击下拉框,单选,多选右边会出现文本框,得到焦点值清空。失去焦点时值保存给隐藏域,同时也有默认值。
如果是点击文本,图片,请选择右边文本框会消失,同时值清空。
最后把需要的值拼接起来。
<script>
$(document).ready(function(){
//获取checkbox里面的值
var num_field = [];
$("#submit").live('click',function(){
$("input[name=checkboxes]:checked").each(function(){
if($(this).attr("checked")){
num_field.push( ($(this).val()) );
}
});
/* for(var i=0;i<num_field.length;i++){
alert(num_field[i]);
}*/
var ajax_data = num_field.join('|');
$('#newfileds').val(ajax_data);
})
<?php for($i=1;$i<4;$i++): ?>
$("#field_type<?php echo $i; ?>").change('click',function() {
jQuery('option:selected', this).each(function(){
var retain<?php echo $i; ?> = this.value;
$('#retain<?php echo $i; ?>').val(retain<?php echo $i;?>);
if(this.value == 'retain<?php echo $i; ?>-wenben|' || this.value == 'retain<?php echo $i; ?>-pic|' || this.value== ''){
$('#danxuan<?php echo $i; ?>').val("");
$('#danxuan<?php echo $i; ?>').css("display","none"); //为文本和图片的时候隐藏
}
if(this.value == 'retain<?php echo $i; ?>-danxuan|' || this.value == 'retain<?php echo $i; ?>-danxuan-'){ //判断保留值为单选
$('#danxuan<?php echo $i; ?>').css("display",""); //为单选清空下文本框显示
var v = this.value;
v = 'retain<?php echo $i; ?>-danxuan-';
$('#danxuan<?php echo $i; ?>').val("1是_2否"); //设置默认值
$('#danxuan<?php echo $i; ?>').focus(function(){ //得到焦点值清空
$('#danxuan<?php echo $i; ?>').val(""); //获取单选框的值
})
$('#danxuan<?php echo $i; ?>').blur(function(){ //失去焦点时值保存
var ch = $('#danxuan<?php echo $i; ?>').val();
var y = v + ch +'|'; //不为默认值
$('#retain<?php echo $i; ?>').val(y);
})
var y = v + $('#danxuan<?php echo $i; ?>').val() +'|';
$('#retain<?php echo $i; ?>').val(y);
}
if(this.value == 'retain<?php echo $i; ?>-duoxuan|' || this.value == 'retain<?php echo $i; ?>-duoxuan-'){ //为多选的情况
$('#danxuan<?php echo $i; ?>').css("display","");
var v = this.value;
v = 'retain<?php echo $i; ?>-duoxuan-';
$('#danxuan<?php echo $i; ?>').val("1_2_3_4_5_6_7_8");
$('#danxuan<?php echo $i; ?>').focus(function(){ //得到焦点值清空
$('#danxuan<?php echo $i; ?>').val("");
})
$('#danxuan<?php echo $i; ?>').blur(function(){ //失去焦点时值保存
var ch = $('#danxuan<?php echo $i; ?>').val();
var y = v + ch +'|'; //不为默认值
$('#retain<?php echo $i; ?>').val(y); //失去焦点值保留
})
var y = v + $('#danxuan<?php echo $i; ?>').val()+'|';
$('#retain<?php echo $i; ?>').val(y); //默认值保留
}
if(this.value == 'retain<?php echo $i; ?>-xialakuang|' || this.value == 'retain<?php echo $i; ?>-xialakuang-'){ //为下拉框的情况下
$('#danxuan<?php echo $i; ?>').css("display","");
var v = this.value;
v = 'retain<?php echo $i; ?>-xialakuang-';
$('#danxuan<?php echo $i; ?>').val("1_2_3_4_5_6"); //下拉框默认值
$('#danxuan<?php echo $i; ?>').focus(function(){ //得到焦点值清空
$('#danxuan<?php echo $i; ?>').val("");
})
$('#danxuan<?php echo $i; ?>').blur(function(){ //失去焦点时值保存
var ch = $('#danxuan<?php echo $i; ?>').val();
var y = v + ch +'|'; //不为默认值
$('#retain<?php echo $i; ?>').val(y);
})
var y = v + $('#danxuan<?php echo $i; ?>').val()+'|';
$('#retain<?php echo $i; ?>').val(y); //值保存为隐藏域
}
});
});
<?php endfor; ?>
});
</script>
我需要的值:
已插入数据表:
OK!!!