从jquery中的多个元素中选择

时间:2013-02-16 21:07:57

标签: javascript jquery html

我正在尝试将此JavaScript代码更改为jQuery,但我不确定与jQuery的onClick = 'function(this)'函数使用.click的等价物。

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">

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

如果DOM中已存在输入,则以下操作将起作用。

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

否则,请尝试

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

答案 2 :(得分: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();
    });
});

小提琴:http://jsfiddle.net/gTtHT/1/

答案 3 :(得分:1)

jQuery使用CSS选择器访问DOM中的元素。如果为这些输入元素指定类名,例如“settable”,则可以添加行为:

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

其中$(this)指的是已单击的元素。