Доброго всем времени суток!
на Jquery писать не умею..написал гавнокод. Который проверяет условия. если переменная "lines.length" равна условию, то тегу "input" с id "jshop_attr_id[16-18]" присваивается значение "checked". Все работает, но я написал гавно код, который можно переписать.. + если выполняется условие if, то код отображается мгновенно, а если else if, то код срабатывает не сразу,а только после обновления строки.
if (lines.length <= 1) {
$('#jshop_attr_id15').prop('checked',true);
$('#block_price').html(price+dop+rub);
}
if (lines.length == 2) {
$('#jshop_attr_id16').prop('checked',true);
$('#block_price').html(price+20+dop+rub);
}
if (lines.length == 3) {
$('#jshop_attr_id17').prop('checked',true);
$('#block_price').html(price+40+dop+rub);
}
if (lines.length == 4) {
$('#jshop_attr_id18').prop('checked',true);
$('#block_price').html(price+60+dop+rub);
}
if (lines.length >= 5) {
$('#jshop_attr_id19').prop('checked',true);
$('#block_price').html(price+80+dop+rub);
}
полный код:
$(function(){
var dop = 0;
$('textarea').on('keypress',function(event){
var text = $('textarea').val();
var lines = text.split("\n");
var currentLine = this.value.substr(0, this.selectionStart).split("\n").length;
var sss = $('#block_attr_sel_1 input:checkbox').prop('checked',false);
var rub = ' ₽';
var price = 120;
if(event.keyCode == 13) {
if (lines.length >= $(this).attr('rows'))
return false;
}
else{
if(lines[currentLine-1].length >= $(this).attr('cols')) {
if (lines.length <= $(this).attr('rows') - 1) {
$(this).val(text + '\n');
} else {
return false;
}
}
}
if (lines.length <= 1) {
$('#jshop_attr_id15').prop('checked',true);
$('#block_price').html(price+dop+rub);
}
if (lines.length == 2) {
$('#jshop_attr_id16').prop('checked',true);
$('#block_price').html(price+20+dop+rub);
}
if (lines.length == 3) {
$('#jshop_attr_id17').prop('checked',true);
$('#block_price').html(price+40+dop+rub);
}
if (lines.length == 4) {
$('#jshop_attr_id18').prop('checked',true);
$('#block_price').html(price+60+dop+rub);
}
if (lines.length >= 5) {
$('#jshop_attr_id19').prop('checked',true);
$('#block_price').html(price+80+dop+rub);
}
});
$("#jshop_attr_id23").click(function() {
dop = 50;
});
});
спасибо.