我有一个自动完成字段,我只是想知道如何将它用于多个单词?当我输入第一个单词时它完美无缺,但是当我在第二个单词中输入并输入时,它会将两个单词发送回服务器,当然结果是错误的!
例如.当我输入两个单词时,
'Java javascript'
第一个单词'Java',自动完成效果很好,拉出列表.
但当我空格键入javascript时,自动完成功能会将'Java + javascript'发送到我的ajax函数.
任何想法如何解决这一问题?
例:
<div id="big"> </div>
<div class="small"> </div>
<div class="small"> </div>
<div class="small"> </div>
<div class="small"> </div>
<div class="small"> </div>
<!-- ...and so on -->
Run Code Online (Sandbox Code Playgroud)
"#big"绝对位于".small"的一部分后面,但不是父元素.
我一直这样做:
var smallArray = [];
var $big = $('#big');
var $bigPos = $big.offset();
$('div.small').each(function() {
var $this = $(this);
var $thisPos = $this.offset();
if(
$thisPos.left >= $bigPos.left &&
$thisPos.left <= $bigPos.left+$big.outerWidth() &&
$thisPos.top >= $bigPos.top &&
$thisPos.top <= $bigPos.top+$big.outerHeight()
) smallArray.push($this);
});
Run Code Online (Sandbox Code Playgroud)
......但这似乎很糟糕.我是否错过了一些jQuery或vanilla JavaScript的方法,这些方法可以让我以更优雅高效的方式做到这一点?
非常感谢您提供的任何帮助.
我正在使用这段代码将值添加到表列中,该列非常有效,直到遇到带有值的null td单元格.从循环中的那一点开始,我在警报中收到NaN错误.我想知道如何忽略这些非数字值或用零替换它们进行计算?
jQuery(function() {
var MarketCapTotal = 0;
// loop through the table
jQuery('#grdWatchlistname tbody tr').each(function() {
// replace the dollar signs and commas
var MarketCap = (jQuery('td:nth-child(4)', jQuery(this)).html
().replace('$', '').replace(/[^a-zA-Z 0-9]+/g, ''));
var td4th = jQuery('td:nth-child(4)', jQuery(this));
MarketCapTotal += parseInt(MarketCap);
alert(MarketCapTotal);
});
});
Run Code Online (Sandbox Code Playgroud)