@amazinginternetsites

Как разрешить конфликт 2-х скриптов?

Друзья, написал небольшой ява скрипт:

$(document).ready(function(){
    
    $(".spalnya_b").click(function(e) {
        $(".spalnya").hide();
        for(i=0;i<$(this).val();i++){
            $(".spalnya").eq(i).show();
            }
        for(i=$(this).val();i<$(".spalnya").length;i++){
            $(".spalnya input").val("");
            }
        
    });
    
 
$("[name=w_q_s1]").click(function(e) {
    
    var cont = "";
    
    var focushtmlw = 'onfocus="if (this.value == \'Длина\') {this.value = \'\';}" onblur="if (this.value == \'\') {this.value = \'Длина\';}" value="Длина"';
    var focushtmlh = 'onfocus="if (this.value == \'Высота\') {this.value = \'\';}" onblur="if (this.value == \'\') {this.value = \'Высота\';}" value="Высота"';
    
    for(i=1;i<=this.value;i++){
        
        if(i==1){
             cont = cont+'<span class="leftl1">Окно - '+i+': </span><input type="text" name="ww_'+i+'_s1" '+focushtmlw+' />м на <input type="text" name="wh_'+i+'_s1" '+focushtmlh+' />м <br />';
            }
        else{
            cont = cont+'<span class="leftl1">Окно - '+i+': </span><input type="text" name="ww_'+i+'_s1" />м на <input type="text" name="wh_'+i+'_s1" />м <br />';
            }
        
        
    }
    
    $("#w_q_s1_p_c").html(cont);
    
});


При этом если работает первая часть

$(document).ready(function(){
    
    $(".spalnya_b").click(function(e) {
        $(".spalnya").hide();
        for(i=0;i<$(this).val();i++){
            $(".spalnya").eq(i).show();
            }
        for(i=$(this).val();i<$(".spalnya").length;i++){
            $(".spalnya input").val("");
            }
        
    });


не функционирует вторая

$("[name=w_q_s1]").click(function(e) {
    
    var cont = "";
    
    var focushtmlw = 'onfocus="if (this.value == \'Длина\') {this.value = \'\';}" onblur="if (this.value == \'\') {this.value = \'Длина\';}" value="Длина"';
    var focushtmlh = 'onfocus="if (this.value == \'Высота\') {this.value = \'\';}" onblur="if (this.value == \'\') {this.value = \'Высота\';}" value="Высота"';
    
    for(i=1;i<=this.value;i++){
        
        if(i==1){
             cont = cont+'<span class="leftl1">Окно - '+i+': </span><input type="text" name="ww_'+i+'_s1" '+focushtmlw+' />м на <input type="text" name="wh_'+i+'_s1" '+focushtmlh+' />м <br />';
            }
        else{
            cont = cont+'<span class="leftl1">Окно - '+i+': </span><input type="text" name="ww_'+i+'_s1" />м на <input type="text" name="wh_'+i+'_s1" />м <br />';
            }
        
        
    }
    
    $("#w_q_s1_p_c").html(cont);
    
});


Отдельно работают скрипты как часы.
Заранее большое спасибо.
  • Вопрос задан
  • 2543 просмотра
Пригласить эксперта
Ответы на вопрос 1
rumkin
@rumkin
Объявите переменные i в областях видимости функций, для начала.
var i
Делаем так
$("[name=w_q_s1]").click(function(e) {
var i;

и
$(document).ready(function(){
var i;


Затем замените
for(i=1;i<=this.value;i++){
на
for(i=1;i<=this.value-0;i++){

А вот это
for(i=$(this).val();i<$(".spalnya").length;i++){
на
for(i=$(this).val()-0;i<$(".spalnya").length;i++){
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект
21 нояб. 2024, в 21:30
500 руб./за проект