我正在尝试将此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">
答案 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();
});
});
答案 3 :(得分:1)
jQuery使用CSS选择器访问DOM中的元素。如果为这些输入元素指定类名,例如“settable”,则可以添加行为:
$(".settable").click(function(e){
var getClicked = $(this).attr('name');
...
});
其中$(this)指的是已单击的元素。