我对下面的输入框有疑问。我正在使用jQuery捕获 输入字段。你需要有一个包围的div,还是可以使用html表单标签中的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);
});
}
});
});
正确的做法是什么?
答案 0 :(得分:2)
您问的是如何按名称选择元素而不是ID?使用attribute selector。
$('[name="name"]').keyup(function() {
var keyword = $(this).val();
});
答案 1 :(得分:2)
要使用JQuery选择DOM中的元素,您可以使用ID,CSS类或元素的任何属性。因此,如果您不想为该元素添加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/
答案 2 :(得分:0)
你可以这样做:
$("input[name='name']").keyup(function() {
var keyword = $(this).val();
// more implementation
});
答案 3 :(得分:0)
不,不。使用jquery,您应该通过其id(在向输入添加和id属性之后)
来定位输入<input type="text" id="name" name="name" size="30">
然后得到它的价值:
var value = $("#name").val()