Tag: javascript

使用jQuery对元素进行排序

我的网站上有以下HTML代码: Group 1 priority: 1 2 3 Group 2 priority: 1 2 3 Group 3 priority: 1 2 3 我正在寻找一种方法来根据下拉列表中选择的内容,使用jQuery对这些组在浏览器中出现的顺序进行排序。 当用户在任何下拉列表或页面加载中选择新值时,它应该求助。 这个问题最简单的方法是什么? 我可以使用jQuery UI,如果可以以任何方式使用可排序的东西。 我无法找到使用它的方法。 更新 : 中还有其他数据,无论它们在何处移动,都应遵循下拉列表。 组的数量从0到20不等。

JavaScript:如何将DOM元素序列化为稍后要使用的字符串?

这可能看起来像一个奇怪的请求,它是非常不寻常的,但这是我正在努力解决的挑战。 假设你有一个DOM元素,它由HTML和一些应用的CSS组成,还有一些JS事件监听器。 我想克隆这个元素(以及所有应用的CSS和JS),将其序列化为一个字符串,我可以将其保存在数据库中,以便在将来的请求中添加到DOM中。 我知道jQuery有一些这样的方法(比如$ .css()来获取计算出的样式)但是我怎么能做所有这些事情并把它变成一个我可以保存在数据库中的字符串呢? 更新:这是一个示例元素: With some content #test_div { width: 200px } .some_class { background-color: #ccc } $(‘#test_div’).click(function(){ $(this).css(‘background-color’,’#0f0′); }); ……也许是一个示例序列化: var elementString = $(‘#test_div’).serializeThisElement(); 这将导致一个看起来像这样的字符串: With some content 所以我可以把它作为AJAX请求发送: $.post(‘/save-this-element’, { element: elementString } //… 以上只是一个例子。 如果序列化看起来非常类似于原始示例,那将是理想的,但只要它呈现与原始相同,我会很好。

jQuery,AJAX,JSONP:即使它是空的,如何实际发送一个数组?

我已经阅读过这些问题,但没有一个能满足我的需求: 使用jQuery在JSON中测试空数组对象 jQuery 1.4.4+ AJAX请求 – 发布空数组或对象变为字符串 无法从jQuery Ajax请求访问数据,返回空数组 JQuery在发送时删除空数组 (最新的一个说只是添加硬编码的引号,即[”]但我不能这样做,我正在调用一个返回数组的函数) 所以这是我的代码(注意问题在于空数组new Array() ): function AjaxSend() { $.ajax({ url: ‘/json/myurl/’, type: ‘POST’, dataType: ‘jsonp’, data : { ‘tab’:new Array() }, context: this, success: function (data) { if (data.success) { console.log(‘ok’); } else { console.log(‘error’); } } }); } 简单呃? 这是我的Php代码: echo ‘_POST=’.var_export($_POST,true).”\n”; 这是结果: _POST=array ( […]

如何在Jquery中使用JSON?

我正在使用一个应用程序,它会对我服务器上的PHP脚本发出POST ajax请求。 该脚本将查询数据库并返回一行记录,作为数组。 (每行一个数组,包含id,title等元素)。 然后,我想使用json_encode()对此数组进行编码,并将其传递回javascript,javascript将使用它来显示记录。 1)如何将JSON编码的字符串返回给javascript? 2)javascript如何遍历行并访问其字段?

无法使用`this`访问该对象。 `this`指向`window`对象

我有这个Javascript构造函数 – function TestEngine() { this.id=’Foo’; } TestEngine.prototype.fooBar = function() { this.id=’bar’; return true; } TestEngine.prototype.start = function() { this.fooBar(); } TestEngine.prototype.startMethod = function() { inter = setInterval(this.start, 200); } var test = new TestEngine(); test.startMethod(); 给我这个错误 – Uncaught TypeError: Object [object global] has no method ‘fooBar’ 我试过console.log并发现当我从setInterval调用this.start时, this指向window对象。 为什么会这样?

如何在jquery中将间隔设置为ajax调用

我需要每5分钟创建一次ajax调用。 我必须在下面编码。 有人能告诉我如何修改此代码以每5分钟运行一次ajax? $(document).ready(function() { var seriesOptions = [], yAxisOptions = [], colors = Highcharts.getOptions().colors; $.ajax({ url: ‘echo_file.php’, datatype: ‘json’, success: function(data) { seriesOptions=data; createChart(); }, cache: false }); function createChart() { . . . } });

如何添加Javascript侦听器以捕获从蓝牙条码扫描器到iPad的输入?

我在iPad上用javascript记录击键时遇到问题。 以下脚本适用于Chrome和Safari,但不适用于iPad Safari。 蓝牙条码扫描器发送12位数作为击键,然后发送返回字符。 有没有人有任何想法? 我想你需要一台iPad试试这个:) 谢谢,马克 $(document).ready(function(){ $(document).keypress(function(e){ if( e.keyCode == 13){ alert($(‘#barcode’).attr(‘value’)); $(‘#barcode’).attr(‘value’,”); } else{ var key = String.fromCharCode(e.which); var new_val = $(‘#barcode’).attr(‘value’) + key; $(‘#barcode’).attr(‘value’,new_val); } }); });

将鼠标hover在选择列表中的上

我试图在将鼠标hover在选择列表中的选项上时显示说明,但是,我无法在hover时识别代码。 相关代码: 选择表格块: 操作选择(前面定义的数组): function rankFeatures(create) { var $optionList = $(“#optionList”); var $ranks = $(“#ranks”); if(create == true) { for(i=0; i<5; i++){ $optionList.append(features[i]); }; } else { var index = $optionList.val(); $('#optionList option:selected').remove(); $ranks.append(features[index]); }; } 这一切都有效。 当我试图处理hover在选项上时,这一切都崩溃了: $(document).ready( function (event) { $(‘select’).hover(function(e) { var $target = $(e.target); if($target.is(‘option’)) { alert(‘yeah!’); }; }) }) 我在搜索Stack […]

使用原生DOM的最近的祖先匹配选择器?

是否有人在DOM api中处理jQuery.closest()等价物? 看起来选择器级别2草案添加了相当于jQuery.is()的matches() ,因此本机最接近应该更容易编写。 是否添加了closest()选择器closest() ?

如何在Javascript中进行线程化

所以我有一个大的JSON对象,我从服务器返回,然后从它构建一个数据表并在表单上显示它。 这通常需要几秒钟……所以我想到了一个加载栏。 我有加载栏背后的逻辑,但是构建hmtl数据的循环是锁定浏览器而我无法调用我需要更新的元素。 这是我的function: function buildDataTable(db_table, container_id) { var $pb = $(“”); $(container_id).html($pb); $pb.progressbar({ value: 0 }); $.post(“post location”, { view: “all” }, function (data) { var headers = “”; var contents = “”; var jsonObject = $.parseJSON(data); var tik = Math.round(jsonObject.length / 100); for (key in jsonObject[0]) { headers += “” + key.replace(” “, […]