0

我正在尝试将此 JavaScript 代码更改为 jQuery,但我不确定onClick = 'function(this)'与 jQuery.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

4 回答 4

1

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

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

否则,请尝试

$(function() {
    $('#a, #b').click(function () {
        setInput(this);
    });
});
于 2013-02-16T21:14:27.493 回答
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/

于 2013-02-16T21:14:34.317 回答
1
$('input[type="text"]').on('click', function(){
  $('#show_' + $(this).attr('name')).val($(this).val());
});
于 2013-02-16T21:14:13.737 回答
1

jQuery 使用 CSS 选择器来访问 DOM 中的元素。如果你给这些输入元素一个类名,比如“settable”,你可以添加行为:

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

其中 $(this) 指的是被点击的元素。

于 2013-02-16T21:19:47.237 回答