相关疑难解决方法(0)

jQuery插件序列化一个表单,还恢复/填充表单?

是否有一个jQuery插件可以序列化一个表单,然后恢复/填充给定序列化值的表单?我知道表单插件可以序列化为查询字符串,但我没有找到任何可以从查询字符串中恢复表单的内容.

我想要做的是序列化表单值,每当表单更改时存储为cookie,然后在页面首次加载时从cookie中恢复表单(如果存在).

我已经找到了这个难题的部分(形式插件,cookie插件,各种自动保存插件不能恢复),但在我从各个部分拼凑一些东西之前,我想确保没有一个很好的罐装解决方案等待对我来说.

谢谢!

吉姆

forms jquery serialization

32
推荐指数
3
解决办法
2万
查看次数

jquery:如何在提交之前从表单中删除空白字段?

我有一个页面,上面有一组表格,用于API测试.由于不值得解释的原因,我通常不希望在提交到服务器的过程中包含空字段.如何在提交前从数据中删除空字段?

例如,如果我有一个包含两个字段foo和bar的表单,并且用户将栏留空,我希望服务器看到提交,就好像唯一的字段是foo一样.

我的第一个尝试涉及使用jquery循环遍历字段

$("form").submit(function() {
    $(this).children(':input').each(...)
}
Run Code Online (Sandbox Code Playgroud)

并删除该字段.但是a)没有用,并且b)似乎它会从页面上的可见形式中删除该字段,这不是我想要的.

另一种方法可能是遍历字段并手动构造提交字符串,其字段的值不是"".那会有用吗?有更好的想法吗?

jquery form-submit

28
推荐指数
3
解决办法
3万
查看次数

为什么不抛弃jQuery 1.9+ attr()方法?

我可以,一个jQuery1.9 +软件开发人员,attr()在我的日常工作中"弃用"该方法的使用吗?


如许多问题所示,

关于"使用attr或使用prop?"有很多困惑.,并且,根据我的(开发人员)观点,对于attr()方法的所有用途,我们可以使用prop:

  1. 向后兼容:编写新软件不需要这个;
  2. 性能:John说 "通过.attr()方法访问属性比直接通过.prop()访问它们要慢一些";
  3. 更改属性值:可以通过该prop(name,newvalue)方法更改所有.
  4. 删除属性:所有removeProp(name)方法都可以删除.
  5. 检查HTML属性值:浏览器使用DOM,所有HTML都转换为DOM,如果DOM受影响,attr(name)方法也会受到影响.关于prop的"强类型":它比"html string value"(例如"checked"vs true)更好.
  6. 检查是否在"HTML原始代码"中定义一个属性(假设attr浏览器中的方法 返回undefined,如果不是)...嗯,我们需要在某个软件中使用它吗? 在表单中,".val()方法是建议的jQuery方式来获取或设置表单的值"
  7. 跨浏览器一致性:两者(不仅仅是attr)都是一致的方法.(它是??).

所以,在这个时候(2013年),我没有看到attr在开发新的jQuery代码时使用方法的一个很好的理由 ......但是,换句话说,这就是问题:我有充分的理由attr在我的方法中使用 方法日常任务?

jquery deprecated prop attr

28
推荐指数
3
解决办法
7798
查看次数

应该用prop()还是attr()设置href?

如果我想动态更改链接的href,我应该使用prop()attr()吗?

jquery prop attr

28
推荐指数
1
解决办法
8705
查看次数

jquery attr('checked','checked')只能工作一次

我找到以下jquery/checkbox行为的原因时遇到问题.

$( this.obj + ' table.sgrid-content > thead > tr > th > input.select_all' ).on( 'click' , {grid:this} , function(event){

var grid = event.data.grid;

if( $(this).is(':checked') ){

    $( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).attr('checked','checked');
    $( grid.obj + ' .sgrid-content > tbody > tr > td > input.select ' ).parents('tr').addClass('ui-state-highlight');

} else {

    $( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).removeAttr('checked');
    $( grid.obj + ' table.sgrid-content …
Run Code Online (Sandbox Code Playgroud)

javascript checkbox jquery checked

25
推荐指数
1
解决办法
2万
查看次数

removeAttr()不删除IE中的"disabled"属性

var disableSelection = function(){
    $("#elementId").attr("disabled","disabled");    
};

var enableSelection = function(){
    $("#elementId").removeAttr("disabled");
};
Run Code Online (Sandbox Code Playgroud)

我有以下要求:

  1. 禁用SELECT元素以限制用户选择选项
  2. disabled SELECT元素已经选择了一些OPTION元素
  3. on submit事件启用禁用SELECT元素以保存所选值

添加属性"禁用"适用于IE.然而,当我尝试使用jQuery revomeAttr()方法删除属性时,而不是删除属性:

  1. 方法将"disabled"属性添加到先前启用的SELECT元素
  2. 方法不会删除"已禁用"属性

jquery internet-explorer

24
推荐指数
1
解决办法
8万
查看次数

什么是jQuery的$(文档)的vanilla等价物?

我试图找出以下代码的vanilla等价物:

$(document).attr('key', 'value');
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经研究过了

  • document- 它不是一个元素,所以你不能打电话setAttribute给它
  • document.documentElement- 返回html标签.这与jquery所针对的"元素"不同
  • $(document)[0] 似乎在Chrome Inspector中返回了一个阴影元素
  • $(document).attr('key', 'somethingUnique') Chrome Inspector中不存在

是jQuery创建它自己的阴影元素模拟文档,所以它可以像真正的元素一样对待它吗?你做$(document)什么时jQuery实际引用了什么元素?

javascript jquery

23
推荐指数
3
解决办法
3515
查看次数

如何使用JQuery阻止锚重定向

如果用户未登录,如何停止重定向到另一页的锚标记?我有一个功能来检查用户是否登录.我想用JQuery或JavaScript来做.这是我到目前为止尝试但没有结果:

<a href="www.somewhere.com" id="yes">Read More</a>

<script type="text/javascript">
    $(document).ready(function(){
        $('a').click(function(){
            var id = $(this).attr('id');
            if(id == 'yes'){
                //i want to prevent
            }else{
                //redirect
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

21
推荐指数
1
解决办法
6万
查看次数

为什么将数据存储为元素的属性存在风险?

我继续阅读同样的事情:

"直接在DOM元素上存储属性值是有风险的,因为可能存在内存泄漏."

但有人可以更详细地解释这些风险吗?

javascript jquery

21
推荐指数
2
解决办法
1094
查看次数

jQuery 1.9.1属性选择器

背景

从jQuery 1.9开始,该.attr(..)方法不再返回属性值,而是我们现在必须使用.prop(..).不幸的是,这也适用于通过属性选择器指定的属性$("input[value=]")

http://jquery.com/upgrade-guide/1.9/#attr-versus-prop-

和之间的差异的好,所以讨论.attr.prop:

.prop()vs .attr()

我的情况

我目前正在使用选择器,$("input[value=]")以及$("select[value=]") 选择没有值集的输入元素.但是,这不再适用于jQuery 1.9,而是我现在正在做这样的事情:

var hasValue = function () { return !!($(this).val().length); };
var hasNoValue = function () { return !($(this).val().length); };
$("input").filter(hasValue);
$("select").filter(hasValue);
Run Code Online (Sandbox Code Playgroud)

我的实际选择器有点大,检查有或没有值的多个元素,所以现在我不得不将我的1选择器字符串拆分成多个选择器,中间使用.filter(..)方法调用.

是否有一个相当于$("[value=]"),$("[value!=]"),$("[value='abc']")它使用属性,而不是属性的?如果没有,有没有比使用.filter(hasValue).filter(hasNoValue)方法更清洁的方法?

谢谢

html javascript jquery jquery-1.9

16
推荐指数
1
解决办法
5115
查看次数