小编Shi*_*tya的帖子

Jquery触发器文件输入

我试图使用jQuery触发上传框(浏览按钮).
我现在尝试的方法是:

$('#fileinput').trigger('click');   
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.请帮忙.谢谢.

javascript css jquery

159
推荐指数
10
解决办法
23万
查看次数

有没有更好的方法来创建一个使用jquery的面向对象的类?

我使用jquery 扩展函数来扩展类原型.

例如:

MyWidget = function(name_var) {
  this.init(name_var);
}

$.extend(MyWidget.prototype, {
   // object variables
   widget_name: '',

   init: function(widget_name) {
     // do initialization here
     this.widget_name = widget_name;
   },

   doSomething: function() {
     // an example object method
     alert('my name is '+this.widget_name);
   }
});


// example of using the class built above
var widget1 = new MyWidget('widget one');
widget1.doSomething();
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?是否有一种更简洁的方法来创建上面的类只有一个语句而不是两个?

javascript jquery

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

如何在.getJSON JQuery中设置编码

在我的网络应用程序中,我使用jQuery的$.getJSON()方法提交了一些表单字段.我在编码方面遇到了一些问题.我的应用程序的字符集是charset=ISO-8859-1,但我认为这些字段是提交的UTF-8.

如何设置$.getJSON调用中使用的编码?

ajax jquery json character-encoding

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

jQuery复选框onChange

我有一个id为activelist的复选框

我尝试了以下但似乎没有工作(我在下面):

$(document).ready(function () {
  $('#activelist :checkbox').change(function () {
    alert('changed');
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id='inactivelist' value="inactivelist" />
Run Code Online (Sandbox Code Playgroud)

jquery

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

JQuery自动完成验证选定的值

我们正在使用的内容即自动完成的jQuery插件乔恩Zaefferer,并试图验证有效的选项输入.

该插件具有result()事件,该事件在进行选择时触发.这没关系,但是当用户点击时我需要检查文本框中的值.所以我们尝试了.change()和.blur()事件,但它们都存在问题:当你点击结果div中的一个条目('suggest'列表)时,.change()和.blur()事件触发,这是在插件向文本框写入值之前,因此此时无需验证.

有人可以帮我配置事件,所以每当有人点击,但不是在结果框中我可以检查框中的有效值.如果这是错误的方法,请通知我正确的方法.我们最初使用此插件是因为它的'mustMatch'选项.此选项似乎并不适用于所有情况.很多时候,有效的条目将被写入文本框,而被插件清除为无效,我无法确定原因.

基本代码示例:

<html>
<head>
<title>Choose Favorite</title>
<script language="JavaScript" src="jquery-1.3.2.min.js" ></script>
<script language="JavaScript" src="jquery.autocomplete.min.js" ></script>
<script>
    $(".suggest").autocomplete("fetchNames.asp", {
        matchContains:false,
        minChars:1, 
        autoFill:false,
        mustMatch:false,
        cacheLength:20,
        max:20
    });

    $(".suggest").result(function(event, data, formatted) {
        var u = this;
        // Check value here

    });

    /* OR */

    $(".suggest").change(function(me) {
        //check value here
    });

</script>
</head>
<body>
    <label for="tbxName">Select name (I show 10):</label><br />
    <INPUT type="text" id="tbxName" name="tbxName" class="suggest"><br />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

jquery autocomplete event-handling

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

Bootstrap Select - 重新初始化动态添加的元素

我正在使用Bootstrap Select(http://silviomoreto.github.io/bootstrap-select/)显示我网站每个部分的Font-Awesome图标下拉列表.

我添加了添加新部分的功能 - 当点击添加按钮时,会添加一个新部分(上一部分的副本).在本节中,Bootstrap Select不起作用.

我尝试重新启动它,如:

var select = $('[name="section['+ numbersection +'][section_icon]"]');
$(select).selectpicker('destroy');
$(select).selectpicker({
  showIcon: false
});
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为detroy方法似乎没有触发.有没有办法在动态添加的元素上重新启动Bootstrap Select?

jquery select twitter-bootstrap bootstrap-select

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

count(array)返回1但数组为空

$cartProducts = explode(',', $prodID);
echo count($cartProducts) 
Run Code Online (Sandbox Code Playgroud)

var_dump的输出($ cartProducts); 是:

`array(1) { [0]=> string(0) "" } 
Run Code Online (Sandbox Code Playgroud)

这给了我一个$ count值,但是数组是空的,或者至少我的数据库列是空的.

我尝试过以下方法:

if(empty($cartProducts)){
  echo '0';
} else{
  $count = count($cartProducts);
}
Run Code Online (Sandbox Code Playgroud)

但我得到了相同的结果:$ count = 1

Jeez我在这里错过了什么?

php arrays

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

你如何在鼠标悬停时交换DIV?(jQuery的?)

这是第二个最简单的翻转效果,但我找不到任何简单的解决方案.

通缉:我有一个项目列表和幻灯片列表(DIV).加载后,应选择第一个列表项(粗体),并且第一个幻灯片应该是可见的.当用户将鼠标悬停在另一个列表项上时,应该选择该列表项并显示相应的幻灯片.

以下代码有效,但很糟糕.我怎样才能以优雅的方式获得这种行为?jquery有几十个动画和复杂的翻转效果,但我没有想出一个干净的方式来实现这种效果.

<script type="text/javascript">
function switchTo(id) {
    document.getElementById('slide1').style.display=(id==1)?'block':'none';
    document.getElementById('slide2').style.display=(id==2)?'block':'none';
    document.getElementById('slide3').style.display=(id==3)?'block':'none';
    document.getElementById('slide4').style.display=(id==4)?'block':'none';
    document.getElementById('switch1').style.fontWeight=(id==1)?'bold':'normal';
    document.getElementById('switch2').style.fontWeight=(id==2)?'bold':'normal';
    document.getElementById('switch3').style.fontWeight=(id==3)?'bold':'normal';
    document.getElementById('switch4').style.fontWeight=(id==4)?'bold':'normal';
}
</script>

<ul id="switches">
  <li id="switch1" onmouseover="switchTo(1);" style="font-weight:bold;">First slide</li>
  <li id="switch2" onmouseover="switchTo(2);">Second slide</li>
  <li id="switch3" onmouseover="switchTo(3);">Third slide</li>
  <li id="switch4" onmouseover="switchTo(4);">Fourth slide</li>
</ul>
<div id="slides">
  <div id="slide1">Well well.</div>
  <div id="slide2" style="display:none;">Oh no!</div>
  <div id="slide3" style="display:none;">You again?</div>
  <div id="slide4" style="display:none;">I'm gone!</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

jQuery-turbolinks - link_to confirm:在Rails中弹出几次

我有一个典型的CRUD操作应用程序

包含一行的apps/views/recipe/show.html.haml

= link_to "Delete", recipe_path, method: :delete, data: {confirm: "Are you sure?" }, class: "btn btn-default"    
Run Code Online (Sandbox Code Playgroud)

如果我在apps/views/recipe/new.html.haml中创建一个新配方并重定向到apps/views/recipe/show.html.haml并点击Delete,那么它会给我一次确认并删除配方.

但是,如果我从典型类型的index.html.haml转到同一个显示页面,链接到单个配方,如http:// localhost:3000/recipes/29并点击删除按钮,确认将弹出3-4时间..(除非我首先刷新该页面,然后它会弹出确认一次).

我尝试添加jQuery-turbolinks,它仍然无法正常工作......

app/views/layouts/application.html.haml在%title下面有以下内容

  = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true                                                                      
  = javascript_include_tag 'application', 'data-turbolinks-track' => true                                                                                    
  = csrf_meta_tags 
Run Code Online (Sandbox Code Playgroud)

不知道如何解决它,所以它不会弹出几次

编辑:即使我通过传递@recipe修复代码后仍然是相同的行为

= link_to "Delete", recipe_path(@recipe), method: :delete, data: {confirm: "Are you sure?" }, class: "btn btn-default"    
Run Code Online (Sandbox Code Playgroud)

编辑2: 如果我一起删除turbolinks它的工作原理buttTurbolinks在你的web应用程序中更快地生成以下链接,据我所知在大多数Rails项目中使用.所以试着看看是否有解决方法?看起来像是一件非常典型的事情.

编辑3:

我添加了jQuery-turbolinks

的Gemfile

gem 'jquery-turbolinks'
Run Code Online (Sandbox Code Playgroud)

JavaScript清单文件,按此顺序:

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
Run Code Online (Sandbox Code Playgroud)

确认不止一次弹出.必须有办法解决它?

编辑4: …

jquery ruby-on-rails turbolinks ruby-on-rails-4

15
推荐指数
1
解决办法
1051
查看次数

复制jQuery datepicker

datepicker功能仅适用于创建的第一个输入框.

我正在尝试通过克隆div包含它的那个来复制一个datepicker .

<a href="#" id="dupMe">click</a>
<div id="template">
  input-text <input type="text" value="text1" id="txt" />
  date time picker <input type="text" id="example" value="(add date)" />
</div>
Run Code Online (Sandbox Code Playgroud)

要初始化的日期选择器,根据jQuery UI的文档,我只有这样做$('#example').datepicker();,它的工作,但仅在与创建的第一个日期选择器.

复制的代码div如下:

$("a#dupMe").click(function(event){
  event.preventDefault();
  i++;
  var a = $("#template")
            .clone(true)
            .insertBefore("#template")
            .hide()
            .fadeIn(1000);
  a.find("input#txt").attr('value', i);
  a.find("input#example").datepicker();
});
Run Code Online (Sandbox Code Playgroud)

最奇怪的是,document.ready我有:

$('#template #example').datepicker();
$("#template #txt").click(function() { alert($(this).val()); });
Run Code Online (Sandbox Code Playgroud)

如果我点击#txt它总是有效.

javascript jquery

14
推荐指数
2
解决办法
8527
查看次数