我正在使用typeahead.js从themoviedb api获取电影信息.当用户输入电影的标题时,我需要获得电影的年份和要自动添加到其他输入的电影的ID.
因此,当用户使用输入电影标题并点击建议的标题时,它会自动将年份和电影ID添加到其他输入
<input class="typeahead" placeholder="Movie Title Here"><br>
<input class="year" placeholder="Year Here">
<input class="id" placeholder="Year ID">
Run Code Online (Sandbox Code Playgroud)
看看接近返回(在第12行),我需要将信息传输到其他输入
var movies = new Bloodhound({
datumTokenizer: function (datum) {
return Bloodhound.tokenizers.whitespace(datum.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 10,
remote: {
url: 'http://api.themoviedb.org/3/search/movie?api_key=470fd2ec8853e25d2f8d86f685d2270e&query=%QUERY&search_type=ngram',
filter: function (movies) {
// Map the remote source JSON array to a JavaScript array
return $.map(movies.results, function (movie) {
return {
id: movie.id,
value: movie.original_title,
year: (movie.release_date.substr(0,4) ? movie.release_date.substr(0,4) : '')
};
});
}
}
});
// Initialize the Bloodhound …
Run Code Online (Sandbox Code Playgroud) javascript jquery html-input bootstrap-typeahead typeahead.js
我只需要从按钮文本中获取第一个单词,然后在单击后添加到输入中
查看这里的代码顺利运行http://jsfiddle.net/LjSYP/并观察输入下的输出我希望
HTML
<div>
<button>Feed</button>
<button>The best</button>
<button>Input-foo second</button>
</div>
<input id="inp" type="text" value="click a button">
Run Code Online (Sandbox Code Playgroud)
jQuery的
$("button").click(function () {
var text = $(this).text();
$("#inp").val(text);
});
Run Code Online (Sandbox Code Playgroud) 我需要传递一个变量取决于if,我写了这段代码
var firstFoo = 2;
$('div').click(function() {
if(firstFoo == 1){
var
var1 = 'var1',
var2 = 'var2',
var3 = 'var3';
}
else{
var
var1 = 'no var1',
var2 = 'no var2',
var3 = 'no var3';
}
$('<span></span>',{
'data-var1': var1,
'data-var2': var2,
'data-var3': var3
}).insertAfter(this);
});
Run Code Online (Sandbox Code Playgroud)
代码工作得很好看jsfiddle的例子http://jsfiddle.net/Xn7xG/
但是当我点击JSHint时,我遇到了错误
(var已定义)&(var超出范围)
而且我不知道这是否意味着我的代码在所有浏览器和情况下都不能正常工作
上面写这段代码的正确方法是什么?
我正面临从数据属性获取更新值的问题!
点击这里http://jsfiddle.net/Jim_Toth/ZLJbt/show/
点击(多少?)并提醒您获取当前值
但是,在您单击(添加一个?)后,将向当前值添加+1
如果你点击(多少?)再次获得你以前得到的旧价值
那么如何获得更新的价值而不是我以前得到的旧价值?
检查这里的代码http://jsfiddle.net/Jim_Toth/ZLJbt/
$('div').click(function () {
alert($(this).data('foo'));
});
var div = 1;
$('button').click(function () {
$('div').attr('data-foo', div);
div += 1;
});
Run Code Online (Sandbox Code Playgroud)