Я пытаюсь добиться чего-то вроде того, когда вы наводите указатель мыши на одно текстовое поле, оно выделяет все поля ввода с одинаковыми значениями. Я сделал это с классом, но мне трудно с входным значением.
HTML
<input type='text' class='value1' value='sample1'>
<input type='text' class='value2' value='sample2'>
<input type='text' class='value2' value='sample3'>
<input type='text' class='value2' value='sample4'>
JQuery
$(document).ready(function(){
$("input.value2").each(function(){
$("input.value2").on('mouseover',function(){
$("input.value2").css('background-color','yellow');
});
$("input.value2").on('mouseout',function(){
$("input.value2").css('background-color','#fff');
});
});
});
Попробуй навести мышь на 2-е текстовое поле.
2 ответа
- Используйте общий класс для всего ввода, например, я использую
myClass
- Используйте
.filter()
, чтобы найти ввод с таким же значением.
$(document).ready(function () {
$("input.myClass").on('mouseover', function () {
var value = this.value;
$("input.myClass").filter(function(){
return value == this.value;
}).css('background-color', 'yellow');
}).on('mouseout', function () {
var value = this.value;
$("input.myClass").filter(function(){
return value == this.value;
}).css('background-color', '#fff');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' class='myClass' value='sample1'>
<input type='text' class='myClass' value='sample2'>
<input type='text' class='myClass' value='sample3'>
<input type='text' class='myClass' value='sample4'>
Вы можете использовать filter()
, чтобы найти только совпадающие элементы, значение которых совпадает со значением зависшего поля:
$("input.value2").on('mouseover',function(){
// store the value of the element that was hovered
var val = this.value;
$('input.value2').filter(
// this function will be called once for each input.value2 element
// filter will return a list of *only* those elements where this
// function returns true
function() {
//
return this.value == val;
}
).css('background-color','yellow');
});
$("input.value2").on('mouseover', function() {
var val = this.value;
$('input.value2').filter(
function() {
return this.value == val;
}
).css('background-color', 'yellow');
});
$("input.value2").on('mouseout', function() {
$("input.value2").css('background-color', '#fff');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type='text' class='value1' value='sample1'>
<input type='text' class='value2' value='sample2'>
<input type='text' class='value2' value='sample2'>
<input type='text' class='value2' value='sample4'>
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.