我试图使用插件Chosen for Multiple Select构建我的下拉菜单.这是我基于的行为:
所以,而不是在我的选择中有3个harcoded <option>.我希望此列表是由ajax请求填充的json数组的值.这将由自动完成触发.
因此,如果用户键入"car",我通过ajax调用发送信件,并且我回到这样的数组:
[{ "ID": "2489", "名称": "卡丽"},{ "ID": "2490", "名称": "卡罗琳"},{ "ID": "2491", "姓名": "卡罗尔"}]
代码:
$(function() {
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({allow_single_deselect:true});
$('.chzn-choices input').autocomplete({
source: function( request, response ) {
$.ajax({
url: "/change/name/autocomplete/"+request.term+"/",
dataType: "json",
success: function( data ) {
response( $.map( data, function( item ) {
$('ul.chzn-results').append('<li class="active-result">' + item.name + '</li>');
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
结果:
我输入"汽车",在下拉列表中我得到"没有汽车的结果",然后我得到了我想要的所有结果.
1.为什么我收到"无结果"消息,因为我可以在我的json数组和列表中看到我得到了结果.
-----------------------------
Run Code Online (Sandbox Code Playgroud)
当我删除"汽车"并输入"sam"时.在"汽车"结果之后显示"sam"的结果.(基本上,我看到两者的结果,而不仅仅是我当前搜索的结果)
我想我要清除keyUp上的ul?认为插件已经这样做了
-----------------------------
Run Code Online (Sandbox Code Playgroud)
当我点击一个名称实际选择它并将其添加到选择中时,我在selected.js文件中得到一个javascript错误
item未定义
"item.selected = true;" 732行
该插件的链接:http: //harvesthq.github.com/chosen/chosen/chosen.jquery.js
并且它不会在select中添加任何内容. …
我的json数组的一部分
var videos = $j.parseJSON('
[
{ "privacy":"public",
"id":"1169341693" },
{ "privacy":"private",
"id":"803641223" },
{ "privacy":"public",
"id":"1300612600" }, ......
Run Code Online (Sandbox Code Playgroud)
当我在console.log中获取我正在获取的元素
[Object, Object, Object, …]
0: Object
privacy: "public"
id: "1169341693"
1: Object
privacy: "private"
id: "803641223"
2: Object
privacy: "public"
id: "1300612600"
Run Code Online (Sandbox Code Playgroud)
我还有一个我想要搜索的唯一ID
var uniqueId = 803641223;
Run Code Online (Sandbox Code Playgroud)
我想在我的视频数组中找到正确的id,并删除整个数组元素.那么在这种情况下,我希望我的最终视频数组只包含2个对象,而不是3个:
var videos = $j.parseJSON('
[
{ "privacy":"public",
"id":"1169341693" },
{ "privacy":"public",
"id":"1300612600" }, ......
Run Code Online (Sandbox Code Playgroud)
我的问题是如何进入阵列进行拼接.我更喜欢用jQuery来做
有什么帮助吗?
我在高级搜索表单中使用jQuery UI Slider(我使用Range Slider来精确).我用它来按持续时间(按分钟)过滤视频.
到目前为止,它运作良好.
默认值为5到55.
现在我想要做的是:当我将其更改为20-30时,提交表单,查看结果.当我在浏览器上点击"返回"时,我希望值为20-30,而不是默认值.所以,我基本上希望滑块记住我回去时选择的值.
首先,是否可以这样做?如果是这样,我会需要帮助,因为我不知道如何!
这是一个工作小提琴,可以看到我的Slider在行动:http://jsfiddle.net/nbjgH/
这是我的html表单:
<form id="advancedSearch" name="advancedSearch" class="search" action="/advancedsearchrun/">
<input type="text" name="query" autofocus="autofocus" value="{{ query|default('') }}" >
<div class="slider-time">
<label for="timeRange">Filter by duration:</label>
<input type="text" id="timeRange" />
<input type="hidden" id="min_minutes" name="min_minutes" value="0" />
<input type="hidden" id="max_minutes" name="max_minutes" value="5" />
</div>
<input class="not_rounded_right float-left" type="submit" value="Search">
</form>
Run Code Online (Sandbox Code Playgroud) 我有一个按钮,当您单击该按钮时,我正在执行fadeToggle()以显示或隐藏弹出窗口。
该弹出窗口显示在自动播放的Flash视频的顶部。
所以,我想做的是,当弹出窗口可见时,我想暂停视频。隐藏时,播放视频。
我的视频播放器已经支持这些功能。所以这工作正常:
videoPlayer.pause();
videoPlayer.play()
Run Code Online (Sandbox Code Playgroud)
那么我的FadeToggle()会是什么样子?现在我有以下代码:
$("#categorySlider").fadeToggle('fast', function() {
var videoPlayer = document.getElementById("videoContainer");
videoPlayer.pause();
});
Run Code Online (Sandbox Code Playgroud)
我在这里缺少play()部分,但是我想不出添加它的语法?如果不适合使用fadeToggle,则任何jquery或javascript都可以!
有什么帮助吗?
我在我的网站上发生了一个javascript错误,我很确定我知道为什么,但我不知道如何解决它!
这是错误:
Uncaught TypeError: Cannot call method 'split' of null
Run Code Online (Sandbox Code Playgroud)
这是我的JS代码:
$(function(e) {
if (document.cookie.indexOf("login") >= 0) {
$("a#loggedInUser").html( $.cookie("login").split("|")[0] );
}
});
Run Code Online (Sandbox Code Playgroud)
我只是想显示存储在"登录"cookie中的用户名.现在,我很确定错误是因为返回的值有时不是字符串,然后它没有split方法,因此它会导致此错误.
我该如何解决这个问题?有任何想法吗?
谢谢!