2013-02-16 4 views
0

Я пытаюсь изменить этот код JavaScript в jQuery, но я не уверен, что эквивалент использования onClick = 'function(this)' с функцией jQuery's .click.Выбор из нескольких элементов в jquery

JavaScript:

function setInput(text) { 

    var getClicked = text.name; 
    var click = document.getElementById(getClicked); 
    var show = document.getElementById('show_' + getClicked); 

    show.value = click.value; 
} 

HTML:

<input type='text' name = "a" id = "a" onclick='setInput(this);'> 
<input type = "text" id = "show_a"><br> 
<input type='text' name = "b" id = "b" onclick='setInput(this);'> 
<input type = "text" id = "show_b"> 
+3

Если вы не знаете, как писать jQuery, вам нужно * learn * jQuery. http://docs.jquery.com/Tutorials ... http://api.jquery.com/ –

+0

Покажите, что вы пробовали. И в чем ваш вопрос? Вы читали документацию? http://api.jquery.com/click/ –

+0

Зачем вам использовать jQuery, если у вас уже есть ванильный код javascript? –

ответ

1
$('input[type="text"]').on('click', function(){ 
    $('#show_' + $(this).attr('name')).val($(this).val()); 
}); 
+0

спасибо, что отлично работает, только то, что я искал – user2014429

1

Если входы уже существуют в DOM, следующие будут работать.

$('#a, #b').click(function() { 
    setInput(this); 
}); 

В противном случае, попробуйте

$(function() { 
    $('#a, #b').click(function() { 
     setInput(this); 
    }); 
}); 
+0

Благодарю вас за сообщение – user2014429

1

HTML:

<input class="clickme" type="text" name ="a" id ="a"> 
    <input type ="text" id ="show_a"><br> 
<input class="clickme" type="text" name ="b" id ="b"> 
    <input type ="text" id ="show_b"> 

JQuery:

$(document).ready(function(){ 
    $(".clickme").click(function(){ 
     id = "#show_"; 
     id += $(this).prop("id"); 
     $(id).show(); 
    }); 
}); 

Fiddle: http://jsfiddle.net/gTtHT/1/

+0

спасибо за сообщение и ссылку jsfiddle – user2014429

1

jQuery использует селектор CSS для доступа к элементам в DOM. Если вы даете эти элементы ввода имя класса, как «устанавливаемое», вы можете добавить поведение:

$(".settable").click(function(e){ 
    var getClicked = $(this).attr('name'); 
    ... 
}); 

Где $ (это) относится к элементу, который был щелкнули.

+0

благодарю вас за сообщение – user2014429

Смежные вопросы