我有一个关于下面输入框的问题。我使用jQuery来捕获输入字段。你需要有一个包围的div吗?或者你可以使用html form标签中的name属性吗?
<input type="text" name="name" size="30">和
var MIN_LENGTH = 3;
$(document).ready(function() {
$("#keyword").keyup(function() {
var keyword = $("#keyword").val();
if (keyword.length >= MIN_LENGTH) {
$.get( "auto-complete.php", { keyword: keyword } )
.done(function( data ) {
console.log(data);
});
}
});
});做这件事的正确方法是什么?
发布于 2015-11-04 22:30:12
您问的是如何按名称而不是id选择元素?使用attribute selector。
$('[name="name"]').keyup(function() {
var keyword = $(this).val();
});发布于 2015-11-04 22:57:16
要使用JQuery选择DOM中的元素,可以使用ID、CSS Class或元素的任何属性。因此,如果不想为该元素添加ID,可以通过name属性选择它。
var $nameElement = $("[name='name']");对于你的区块,你可以这样做:
var MIN_LENGTH = 3;
$(document).ready(function() {
'use strict';
var autocompleteKeywords = function autocompleteKeywords() {
var keyword = $(this).val();
if (keyword.length < MIN_LENGTH) return;
console.log("Searching Keyword: " + keyword);
$.get('auto-complete.php', {
keyword: keyword
}).done(function(data) {
console.log(data);
});
};
var setupKeywordField = function setupKeywordField() {
$('#keyword').on('keyup', autocompleteKeywords);
};
setupKeywordField();
});就像这个JSFiddle中的:https://jsfiddle.net/ndpd32x5/
发布于 2015-11-04 23:19:17
你可以这样做:
$("input[name='name']").keyup(function() {
var keyword = $(this).val();
// more implementation
});https://stackoverflow.com/questions/33524388
复制相似问题