2017-06-03 57 views
0

我想當我改變#town#animal的值,那麼輸入背景就會變紅。 我的代碼是改變輸入背景,當我改變一個輸入,但我想,如果我改變這兩個輸入,代碼後將改變背景顏色。jQuery改變方法多個元素

我的代碼:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test page</title> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 

    <script> 
    $(document).ready(function() { 
     $('#town, #animal').on('change', function() { 
      $('input').css('background', 'red'); 
     }); 
    }); 
    </script> 
</head> 
<body> 

<input type="text" id="town"> 
<input type="text" id="animal"> 

</body> 
</html> 
+0

「您想將文本輸入顏色更改爲紅色onChange」我收到了您的問題的第一部分,我認爲。第二部分更難閱讀。也許你只是想改變顏色,如果兩個輸入都改變了? – Dominik

回答

0

你可以試試這個Working Fiddle

$('#town, #animal').on('change', function() { 
    if($.trim($('#town').val())!='' && $.trim($('#animal').val())!=''){ 
     $('input').css('background', 'red'); 
    } 
}); 
+0

謝謝,完美! :) – patesz

0

如果你想,這樣你要等到兩個輸入已經改變,那麼這很簡單! :)

簡單地說,有兩個變量:

var townChanged = false; 
var animalChanged = false; 

然後,做兩個jQuery函數:

$('#town').on('change', function() { 
    townChanged = true; 
    if (animalChanged) { 
     $('input').css('background', 'red'); 
    } 
}); 

$('#animal').on('change', function() { 
    animalChanged = true; 
    if (townChanged) { 
     $('input').css('background', 'red'); 
    } 
}); 

很明顯,你會希望把它清理乾淨了一點,但我希望這是一個良好的開端,你