小编And*_*ker的帖子

jQuery自动完成

我有一个自动填充文本框,需要响应2个事件:

  • 当用户在文本框中输入内容时(我当前正在使用focusout假设用户完成输入时.因此,如果用户选中文本框,则表示用户已完成输入.)
  • 当用户选择自动完成值列表中的项目时(我正在使用自动完成的select事件来确定)

问题:

当用户选择自动完成值列表中的项目时,事件链focusout首先被调用,然后是select.在进入时focusout,我只能访问用户键入的内容,而不是用户选择的自动完成值列表 - 这就是我实际需要的内容.我该如何解决这个问题?

重现问题的步骤:

  1. 在文本框中,键入字母 a
  2. ActionScript从自动完成值列表中选择
  3. 观察console.debug消息:

    focusout event called
    a
    select event called
    ActionScript
    
    Run Code Online (Sandbox Code Playgroud)

这是代码:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
        <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
        <title>Data Matching</title>
    </head>
    <body>
        <form>
            <input id="1" type="text"></input>
            <input id="2" type="submit"></input>
        </form>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

        <script>
        $('#1').autocomplete(
        {
            select: function …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-plugins jquery-ui-autocomplete

10
推荐指数
1
解决办法
6468
查看次数

jQuery scrollTop跨浏览器不一致

在Chrome和Safari中,$("body").scrollTop(1000)符合预期.

在IE和FF中,没有任何反应.

在IE和FF中,$(window).scrollTop(1000)可以工作,但是它们会去不同的地方.它也可以在Chrome和Safari中使用,但它们也可以在不同的地方使用.他们似乎关闭了高达300-500像素.

是否有任何一致的方法来设置跨浏览器工作的scrollTop属性,如果没有,为什么jQuery不抽象这个?

我也希望为它制作动画,这在Chrome和Safari中运行良好,但在其他浏览器中则无效.

我是浏览器检测的唯一选择吗?(不好的做法)或者有更好的方法吗?

javascript jquery scrolltop

10
推荐指数
2
解决办法
7312
查看次数

插件中的生成器和迁移(rails 3)

我只是尝试创建一个没有任何参数的插件迁移生成器,例如:$rails generate yaffle这应该将迁移文件(lib/generators/yaffle/template/create_yaffle.rb)复制到db/migrate/[timestamp] _create_yaffle.rb.

  1. 我在这里遇到的问题是,它的复制,但没有时间戳.
  2. 此外,当我运行$rails generate yaffle它时,给我一条消息,表明没有提供参数,它希望采用这种格式rails generate yaffle NAME [options].我不想要任何选项/参数,它应该只是rails generate yaffle.

我该怎么办?

我跟着acts_as_commentable中使用的生成器,它看起来很简单,但我不知道在哪里修改这些设置......有人可以帮忙吗?

发电机代码:

require 'rails/generators'
require 'rails/generators/migration'

class ThumbitGenerator  Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)

  def self.next_migration_number(path)
    Time.now.utc.strftime("%Y%m%d%H%M%S")
  end

  def create_model_file
    template "like.rb", "app/models/like.rb"
    template "liking.rb", "app/models/liking.rb"
    template "create_likes.rb", "db/migrate/create_likes.rb"
    template "create_likings.rb", "db/migrate/create_likings.rb"
  end

end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

9
推荐指数
1
解决办法
4112
查看次数

jQuery UI自动完成类别如何跳过类别标题

我在我的网络应用程序中有一个工作自动完成字段,我正在寻找一种方法来增加字段的可用性,当使用箭头键向下滚动可用选项时(在输入后)以某种方式自动跳过类别字段部分搜索词).

例如,如果用户开始键入"an",则自动完成将显示两个类别,每个类别中包含项目.用户想要在"人物"下选择列表中的一个项目.他们使用箭头键向下移动列表.目前,此代码将结果中的类别作为列表项插入.使用箭头键时,必须移动它们才能突出显示并选择结果.应用程序可以自动跳过这些类别标题吗?

$.widget( "custom.catcomplete", $.ui.autocomplete, {
        _renderMenu: function( ul, items ) {
            var self = this,
                currentCategory = "";
            $.each( items, function( index, item ) {
                if ( item.category != currentCategory ) {
                    ul.append( "<li class='ui-menu-item ui-category'>" + item.category + "</li>" );
                    currentCategory = item.category;
                }
                self._renderItem( ul, item );
            });
        }
    });

    var data = [
        { label: "annk K12", category: "Products" },
        { label: "annttop C13", category: "Products" },
        { label: "anders andersson", category: "People" },
        { label: …
Run Code Online (Sandbox Code Playgroud)

jquery-ui autocomplete categories jquery-ui-autocomplete

9
推荐指数
1
解决办法
3657
查看次数

引用jQuery自动完成中的文本输入

鉴于以下代码,如何从调用success()函数中引用具有自动完成功能的输入$.ajax?无论是$(this)$e工作.

$('.parent-input').autocomplete({
  source: function(request, response) {
    $.ajax({
      url: "/chunky/bacon",
      dataType: 'json',
      data: {
        product_id: $('#product-id').val(),
        term: request.term
      },
      success: function(data){
        var resultCount = data.length;
        // I NEED TO REFERENCE .parent-input HERE
        response( data );
      }
    });
  },
  minLength: 2,
  select: function(event, ui){
    addAssociatedProduct(ui.item.id, ui.item.value);
    $(this).val('');
    return false;
  }
});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-autocomplete

9
推荐指数
1
解决办法
3399
查看次数

用于在Table行上获取Click事件的jQuery

我有下表

<table>
<tr class="rows"><td>cell1</td><td>cell2</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

如果我any of the column of <tr class="rows">使用jquery 点击,如何设置警报消息?

javascript jquery

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

如果我在下拉框中选择其他选项,如何激活文本框

假设我在下拉框中有3个选项,说红色,蓝色,其他.如果用户选择其他选项,那么在文本框下方应该可以看到他自己喜欢的颜色.我可以使用颜色填充下拉框,但不知道如何在下拉框中选择其他文本框时显示文本框.我知道使用javascript可以做但我对javascript很新.任何人都可以帮帮我吗?

这是我在html表单中实现的选项

   <select name="color"> // color
    <option>pick a color</option>  
    <option value="red">RED</option>
    <option value="blue">BLUE</option>
    <option value="others">others</option>
</select>

<input type="text" name="color" id="color" /></td> // this textbox should be hidden //until unless others is selected in the drop down box
Run Code Online (Sandbox Code Playgroud)

html javascript html5

9
推荐指数
2
解决办法
10万
查看次数

AutoMapper无法将枚举转换为可空的int?

我得到了AutoMapperMappingException异常

抛出了"AutoMapper.AutoMapperMappingException"类型的异常.---> System.InvalidCastException:从'DummyTypes'到'System.Nullable`1 [[System.Int32,...]的无效转换

什么时候

public enum DummyTypes : int
{
    Foo = 1,
    Bar = 2
}

public class DummySource
{
    public DummyTypes Dummy { get; set; }
}

public class DummyDestination
{
    public int? Dummy { get; set; }
}

[TestMethod]
public void MapDummy()
{
    Mapper.CreateMap<DummySource, DummyDestination>();
    Mapper.AssertConfigurationIsValid();
    DummySource src = new DummySource()
    {
        Dummy = DummyTypes.Bar
    };
    Mapper.Map<DummySource, DummyDestination>(src);
}
Run Code Online (Sandbox Code Playgroud)

AutoMapper不应该隐式地映射这个没有任何额外的显式规则吗?

PS我无法将DummyDestination.Dummy的定义更改为枚举.我必须处理这样的接口.

automapper

9
推荐指数
1
解决办法
7605
查看次数

带有隐藏输入的jqueryui datepicker

我有一个按钮和一个隐藏的输入.

我想在我点击它的按钮下方打开日期选择器.并且所选日期将插入隐藏输入中.

我不想创建一个新按钮(使用datepicker选项),我不想显示输入.

<button type="button" class="btn" id="date_button">Select Date...</button>

<input type="hidden" name="date" id="date_field" />

<script>
    $('#date_button').datepicker({
        showOn: "button",
        onSelect: function( dateText ) {
            $('#date_field').val( dateText );
            $('#date_button').text( dateText );
        }
    })
</script>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

jquery-ui datepicker jquery-ui-datepicker

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

空字符串文字

我在代码审查期间遇到了一些代码,其中一位老同事做了以下事情:

const string replacement = @""; 
Run Code Online (Sandbox Code Playgroud)

此字符串在正则表达式中用作替代匹配的内容.我的问题是将@ literal符号​​添加到空字符串的开头是什么意思.不应该有任何字面解释.

@"";和 之间的影响会有什么不同"";吗?

c# string

9
推荐指数
3
解决办法
723
查看次数