Tag: javascript

如何在不破坏javascript的情况下使用Jquery将html从一个div移动到另一个div

我有两个div用于我的网页的不同部分,一个工作和一个参考部分。 一个是固定尺寸,另一个是可变尺寸,它们是垂直堆叠的。 我正在尝试设计它,以便如果您想在参考窗格中处理某些内容,则单击一个链接并在两个窗格之间交换所有数据。 我的想法是做以下事情: var working = $(“#working_pane”).html(); var ref = $(“#reference_pane”).html(); $(“#working_pane”).html(ref); $(“#reference_pane”).html(working); 这个问题,似乎在这些窗格内引用的任何javascript(例如,就地编辑器)在切换时都会被破坏。 没有javascript错误发生,只是没有任何反应,就像javascript绑定被打破。 是否有任何移动HTML而不破坏包含的JavaScript?

在地图上显示移动标记

当车辆在路上行驶时,我试图在地图上移动标记( 不会消失并再次出现 )。 我有两个latLng值,我想在两者之间移动标记,直到车辆发送下一个点。 然后再次重复该过程。 我尝试了什么:[这不是一种非常有效的方式,我知道] 我的想法是使用下面的技术实现上述方法: 1)在两者之间划一条线。 2)在折线的1/10分数上获取每个点的latLng。 3)在地图上标记10个点以及折线。 这是我的代码: var isOpen = false; var deviceID; var accountID; var displayNameOfVehicle; var maps = {}; var lt_markers = {}; var lt_polyLine = {}; function drawMap(jsonData, mapObj, device, deleteMarker) { var oldposition = null; var oldimage = null; var arrayOflatLng = []; var lat = jsonData[0].latitude; […]

流程上的Bootstrap Multiselect更新选项列表

我使用bootstrap multi-select ,我想用ajax更新flow上的选项 为了填充init我的多选我做 <option value="” > 然后在事件我想用以下ajax更新我的选项列表 我试图使用重建方法但不会在创建后触发下拉列表 $.ajax({ type: ‘post’, url: “helper/ajax_search.php”, data: {models: decodeURIComponent(brands)}, dataType: ‘json’, success: function(data) { $(‘select.multiselect’).empty(); $(‘select.multiselect’).append( $(”) .text(‘alle’) .val(‘alle’) ); $.each(data, function(index, html) { $(‘select.multiselect’).append( $(”) .text(html.name) .val(html.name) ); }); $(‘.multiselect’).multiselect(‘rebuild’) }, error: function(error) { console.log(“Error:”); console.log(error); } }); 使用firebug,我可以看到列表已生成,但选择将不会显示

XMLHttpRequest不添加标题 – “X-Requested-With:XMLHttpRequest”

我有一个ajax调用,我使用jQuery.ajax()向mvc动作发出请求。 这一切都很好。 但是由于某些表单具有文件控制,我将其从使用jQuery.ajax()更改为使用XMLHttpRequest使用HTML5 File API发送它。 由于进行此更改,MVC操作方法不再将其视为ajax请求。 使用Fiddler2我注意到它不再在请求中添加“X-Requested-With:XMLHttpRequest”,我认为这是问题所在。 我试图发送的表单中没有文件输入,只有普通的文本框等,但我试图保持方法通用处理两者。 以下是我用来发送ajax请求的代码: // get the edit tender form var $Form = $Button.closest(‘form’); var Url = $Form.attr(‘action’); var AjaxRequestObject = new XMLHttpRequest(); var FormDataToSend = new FormData(); $Form.find(‘:input’).each(function () { if ($(this).is(‘input[type=”file”]’)) { var files = $(this)[0].files; if (files.length > 0) { FormDataToSend.append(this.name, files[0]); } } else { FormDataToSend.append(this.name, […]

jQuery多个getJSON请求

我的脚本需要在https://graph.facebook.com/xxxx上获取几个json文件,并从每个json中检索某个字段,然后计算求和。 我的问题是如何在所有getJSON完成后打印出结果? 使用以下代码,它将打印0.随意建议任何更好的方法。 var result = 0; $.each(urls, function (i, url) { $.getJSON(url, function (json) { result += json.field1; }) }); alert(result);

TypeError:$(…) .attr不是函数

我有链接设置如下: HTML: 我想获得标签包含的href 。 我尝试迭代每个链接,如下所示: Javascript / jQuery: for (x=0; x < 5; x++) { link = $(".some-link")[x].attr("href"); console.log(link); } 当我尝试这个时,我得到错误TypeError: $(…)[x].attr is not a function 。 有什么问题? 谢谢。

防止select2向下翻转下拉列表

根据标题,是否有办法强制select2始终创建下拉列表而不是下拉? 当你在下拉列表上方滚动,添加一个新的CSS类“select2-drop-above”或两者兼而有之时,似乎还有一些javascript导致翻转。 编辑:我应该指定我通过select2-rails拉动库。 我希望有一种解决方法,不涉及在我自己拉动整个select2 lib并直接编辑select2.js文件。

Javascript揭示模块模式,公共属性

我试图在javascript中绕过揭示模块模式。 我对以下代码片段的两件事感到困惑。 var Child = function () { var totalPoints = 100; addPoints = function (points) { totalPoints += points; return totalPoints; }; getPoints = function () { return totalPoints; }; return { points: totalPoints, addPoints: addPoints }; }; $(function () { var george = Child(); console.log(george.points); console.log(george.addPoints(50)); console.log(george.points); }); 这里写入控制台的三个值是100,150,100。这告诉我,当我用值调用“addPoints”时,totalPoints变量不会更新。 如果我检查addPoints函数中totalPoints的值,它已正确递增。 这是怎么回事? 如果我使用控制台来检查window.addPoints或window.getPoints,我可以看到,因为我没有在函数声明前面使用“var”它们已被添加到全局范围。 那不是吗? […]

使用Moment.js查找当前周日期的特定日期

使用Moment.js查找当前特定日期的日期 有很多方法可以在javascript中操作日期。 我一直在寻找最简单,最简单的方法,没有冗长,丑陋的代码,所以有人向我展示了Moment.js 。 我想使用当前日期来查找本库中当前特定日期的日期。 到目前为止,我的尝试涉及取当前日数(第0-6天)和检查它与星期一(第1天)之间的天数之间的差异,这是不正确的。 这是我的小提琴。 这是我的代码: var now = moment(); var day = now.day(); var week = [[‘sunday’,0],[‘monday’,1],[‘tuesday’,2],[‘wednesday’,3],[‘thursday’,4],[‘friday’,5],[‘saturday’,6]]; var monday = moment().day(-(week[1][1] – day));//today minus the difference between monday and today $(“#console”).text(monday); //I need to know the date of the current week’s monday //I need to know the date of the current week’s […]

使用jQueryvalidation插件:onfocusout,onkeyup在生产站点上按预期工作

我正在使用jQuery Validate插件 v.1.9.0它非常好用。 但是我遇到这个问题,一旦用户提交表单并且有任何错误,它就会正确显示错误消息。 问题是如果用户采取措施来纠正该错误,它不会更新消息。 例如,如果需要字段,则在第一次收到消息时,用户开始键入,然后该消息应该消失。 在文档中,它提到onfocusout和onkeyup用于此目的,默认情况下它们设置为true。 有趣的是它似乎在我的本地工作站上运行,但是一旦我将代码上传到生产站点,它就会失败(默默地)。 我以为我在某种程度上把它弄得很糟糕,所以我解雇了jsfiddle并放了相关的代码 ,看它是否也发生在那里。 我很惊讶地看到它也在那里发生。 所以我的问题是为什么它可以在我的本地机器上运行而不在生产站点上运行? PS自包含示例http://jsfiddle.net/tankchintan/cge44/5/ UPDATE 为了复制这个问题,请做 – 转到jsfiddle页面。 没有填写任何字段命中提交表单。 它将显示除每个字段之外的错误消息。 现在开始输入任何一个字段。 您会注意到,即使规则已满足,错误消息也不会消失。 在我的本地机器上,一旦我在现场输入任何内容,错误消息就会消失。