Search Results

Search found 20604 results on 825 pages for 'jquery validation'.

Page 618/825 | < Previous Page | 614 615 616 617 618 619 620 621 622 623 624 625  | Next Page >

  • Tips on how to refactor this unwieldy upvote/downvote code

    - by bob_cobb
    Basically this code is for an upvote/downvote system and I'm basically Incrementing the count by 1 when voting up Decrementing the count by 1 when voting down If the number of downvotes upvotes, we'll assume it's a negative score, so the count stays 0 Reverting the count back to what it originally was when clicking upvote twice or downvote twice Never go below 0 (by showing negative numbers); Basically it's the same scoring scheme reddit uses, and I tried to get some ideas from the source which was minified and kind of hard to grok: a.fn.vote = function(b, c, e, j) { if (reddit.logged && a(this).hasClass("arrow")) { var k = a(this).hasClass("up") ? 1 : a(this).hasClass("down") ? -1 : 0, v = a(this).all_things_by_id(), p = v.children().not(".child").find(".arrow"), q = k == 1 ? "up" : "upmod"; p.filter("." + q).removeClass(q).addClass(k == 1 ? "upmod" : "up"); q = k == -1 ? "down" : "downmod"; p.filter("." + q).removeClass(q).addClass(k == -1 ? "downmod" : "down"); reddit.logged && (v.each(function() { var b = a(this).find(".entry:first, .midcol:first"); k > 0 ? b.addClass("likes").removeClass("dislikes unvoted") : k < 0 ? b.addClass("dislikes").removeClass("likes unvoted") : b.addClass("unvoted").removeClass("likes dislikes") }), a.defined(j) || (j = v.filter(":first").thing_id(), b += e ? "" : "-" + j, a.request("vote", {id: j,dir: k,vh: b}))); c && c(v, k) } }; I'm trying to look for a pattern, but there are a bunch of edge cases that I've been adding in, and it's still a little off. My code (and fiddle): $(function() { var down = $('.vote-down'); var up = $('.vote-up'); var direction = up.add(down); var largeCount = $('#js-large-count'); var totalUp = $('#js-total-up'); var totalDown = $('#js-total-down'); var totalUpCount = parseInt(totalUp.text(), 10); var totalDownCount = parseInt(totalDown.text(), 10); var castVote = function(submissionId, voteType) { /* var postURL = '/vote'; $.post(postURL, { submissionId : submissionId, voteType : voteType } , function (data){ if (data.response === 'success') { totalDown.text(data.downvotes); totalUp.text(data.upvotes); } }, 'json'); */ alert('voted!'); }; $(direction).on('click', direction, function () { // The submission ID var $that = $(this), submissionId = $that.attr('id'), voteType = $that.attr('dir'), // what direction was voted? [up or down] isDown = $that.hasClass('down'), isUp = $that.hasClass('up'), curVotes = parseInt($that.parent().find('div.count').text(), 10); // current vote castVote(submissionId, voteType); // Voted up on submission if (voteType === 'up') { var alreadyVotedUp = $that.hasClass('likes'), upCount = $that.next('div.count'), dislikes = $that.nextAll('a').first(); // next anchor attr if (alreadyVotedUp) { // Clicked the up arrow and previously voted up $that.toggleClass('likes up'); if (totalUpCount > totalDownCount) { upCount.text(curVotes - 1); largeCount.text(curVotes - 1); } else { upCount.text(0); largeCount.text(0); } upCount.css('color', '#555').hide().fadeIn(); largeCount.hide().fadeIn(); } else if (dislikes.hasClass('dislikes')) { // Voted down now are voting up if (totalDownCount > totalUpCount) { upCount.text(0); largeCount.text(0); } else if (totalUpCount > totalDownCount) { console.log(totalDownCount); console.log(totalUpCount); if (totalDownCount === 0) { upCount.text(curVotes + 1); largeCount.text(curVotes + 1); } else { upCount.text(curVotes + 2); largeCount.text(curVotes + 2); } } else { upCount.text(curVotes + 1); largeCount.text(curVotes + 1); } dislikes.toggleClass('down dislikes'); upCount.css('color', '#296394').hide().fadeIn(200); largeCount.hide().fadeIn(); } else { if (totalDownCount > totalUpCount) { upCount.text(0); largeCount.text(0); } else { // They clicked the up arrow and haven't voted up yet upCount.text(curVotes + 1); largeCount.text(curVotes + 1).hide().fadeIn(200); upCount.css('color', '#296394').hide().fadeIn(200); } } // Change arrow to dark blue if (isUp) { $that.toggleClass('up likes'); } } // Voted down on submission if (voteType === 'down') { var alreadyVotedDown = $that.hasClass('dislikes'), downCount = $that.prev('div.count'); // Get previous anchor attribute var likes = $that.prevAll('a').first(); if (alreadyVotedDown) { if (curVotes === 0) { if (totalDownCount > totalUp) { downCount.text(curVotes); largeCount.text(curVotes); } else { if (totalUpCount < totalDownCount || totalUpCount == totalDownCount) { downCount.text(0); largeCount.text(0); } else { downCount.text((totalUpCount - totalUpCount) + 1); largeCount.text((totalUpCount - totalUpCount) + 1); } } } else { downCount.text(curVotes + 1); largeCount.text(curVotes + 1); } $that.toggleClass('down dislikes'); downCount.css('color', '#555').hide().fadeIn(200); largeCount.hide().fadeIn(); } else if (likes.hasClass('likes')) { // They voted up from 0, and now are voting down if (curVotes <= 1) { downCount.text(0); largeCount.text(0); } else { // They voted up, now they are voting down (from a number > 0) downCount.text(curVotes - 2); largeCount.text(curVotes - 2); } likes.toggleClass('up likes'); downCount.css('color', '#ba2a2a').hide().fadeIn(200); largeCount.hide().fadeIn(200); } else { if (curVotes > 0) { downCount.text(curVotes - 1); largeCount.text(curVotes - 1); } else { downCount.text(curVotes); largeCount.text(curVotes); } downCount.css('color', '#ba2a2a').hide().fadeIn(200); largeCount.hide().fadeIn(200); } // Change the arrow to red if (isDown) { $that.toggleClass('down dislikes'); } } return false; }); });? Pretty convoluted, right? Is there a way to do something similar but in about 1/3 of the code I've written? After attempting to re-write it, I find myself doing the same thing so I just gave up halfway through and decided to ask for some help (fiddle of most recent).

    Read the article

  • POST request is returning response success but is not posting the data

    - by Vineeth
    I am making a POST request to the MOXTRA API and it should return me the following response : { "data": { "id": user_id, //some user id "revision": 5, "name": "My First Binder", "created_time": 1402384947587, "updated_time": 1402384947587 }, "code": "RESPONSE_SUCCESS" } And I am making this POST request using Java Script var d = { 'name': 'My First Binder' }; var bind = JSON.stringify(d); $.post('https://api.moxtra.com/user_id/binders?access_token=' + access_token+ '&callback=?', bind, function(response) { alert( response.data.id); },'json'); }) But the alert that i get for alert(response.data.id) is "undefined" and the alert if i write alert(response.code) is "RESPONSE_SUCCESS" What is wrong with the above code , how am i getting a response success and getting undefined at the same time

    Read the article

  • Calling Multiple functions simultaneously

    - by Noob
    I'm trying to call two different functions for two different HTML elements at the same time, but the second function isn't being read at all. I'm also trying to use the id to specify which corresponding elements to grab data from. Here's what I have: function changeImage(id) { var s = document.getElementById('showcase'); var simg = s.getElementsByTagName('img'); var slen = simg.length; for(i=0; i < slen; i++) { simg[i].style.display = 'none'; } $('#' + id).fadeIn('slow', 0); function createComment(jim) { //alert('hello?'); var d = document.getElementById('description'); var dh = document.getElementsByTagName('p'); var dlen = dh.length; //alert(dh); for(i=0; i < dlen; i++) { alert(dh); dh[i].style.display = 'none'; } $('#' + jim).fadeIn('slow', 0); }

    Read the article

  • JSON from $.each()

    - by Matthew
    I'm trying to get a list of the values of all checked checkboxes that looks like this: foo = { 'colors': ['blue', 'red', 'green'], 'flavors': ['vanilla', 'chocolate'] }; This is the approach I'm taking so far, but JS is saying that 'colors' doesn't exist when I try to push a new value to it. I'm assuming this is a scope issue but I don't know how to fix it. var foo = {}; foo.colors = []; $(".colors:checked").each(function(){ foo.colors.push($(this).val()); });

    Read the article

  • Dictionary to Json object, "Expected expression"

    - by MrW
    I'm trying to convert a dictionery into a json object, so that I can work with it in my front end. sortFields = <%= SchrodersHtmlHelper.ToJson(ViewData["SortInfo"])%>; However, I keep on getting "Expected expression" for this all the time and I'm clueless why. Could anyone explain to me what I'm doing wrong? Edit: The conversion works fine, but I still get this issue in the front end, causing the browser to complain about it.

    Read the article

  • JavaScript: A BackSlash as part of the string

    - by Abs
    Hello all, I have a JavaScript variable that I echo out using PHP which is shown like this in the page source: var db_1 = 'C:\this\path'; When I set the value of a text field with that variable like so: $('#myinput').val(db_1); The slashes have disappeared and only the other characters are left! Why is this and how can I put the slashes back in?? Thanks all

    Read the article

  • focus doesn't work in IE

    - by Syom
    i have the following function function change() { var input=document.getElementById('pas'); var input2= input.cloneNode(false); input2.type='password'; input.parentNode.replaceChild(input2,input); input2.focus(); } but focus() doesn't work in ie7, so what can i do! i want to have the cursor inside of input! thanks

    Read the article

  • How do I cancel a text selection after the initial mousedown event?

    - by cwillu-gmail
    I'm trying to implement a pop-up menu based on a click-and-hold, positioned so that a (really) slow click will still trigger the default action, and with the delay set so that a text-selection gesture won't usually trigger the menu. What I can't seem to do is cancel the text-selection in a way that doesn't prevent text-selection in the first place: returning false from the event handler (or calling $(this).preventDefault()) prevents the user from selecting at all, and the obvious $().trigger('mouseup') doesn't doesn't do anything with the selection at all. This is in the general context of a page, not particular to a textarea or other text field. e.stopPropogation() doesn't cancel text-selection. I'm not looking to prevent text selections, but rather to veto them after some short period of time, if certain conditions are met.

    Read the article

  • Twitter Bootstrap open remote URL programmatically

    - by joh
    <div class="modal hide fade" id="modal_window"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h3>Modal header</h3> </div> <div class="modal-body"> <p>One fine body</p> </div> <div class="modal-footer"> <a href="#" class="btn">Close</a> <a href="#" class="btn btn-primary">Save changes</a> </div> </div> This is my html code, i want to load a remote content into it, let say yahoo.com I tried $('#modal_window').attr('data-remote', 'http://www.yahoo.com').modal({show:true, remote:true}); It shows the normal modal content instead of yahoo loaded into modal. How do i make it to load yahoo.com into the modal window? Thanks

    Read the article

  • Bind two images together to be dragged

    - by Ryan Beaulieu
    I'm looking for some help with a script to drag two images together at once. I currently have a script that allows me to drag thumbnail images into a collection bin to be saved later. However, some of my thumbnails have an image positioned over the top of them to represent these thumbnail images as "unknown" plants. I was wondering if someone could point me in the right direction as to how I would go about binding these two images together to be dragged. Here is my code: $(document).ready(function() { var limit = 16; var counter = 0; $("#mainBin1, #mainBin2, #mainBin3, #mainBin4, #mainBin5, #bin_One_Hd, #bin_Two_Hd, #bin_Three_Hd, #bin_Four_Hd, #bin_Five_Hd").droppable({ accept: ".selector, .plant_Unknown", drop: function(event, ui) { counter++; if (counter == limit) { $(this).droppable("disable"); } $(this).append($(ui.draggable).clone()); $("#cbOptions").show(); $(".item").draggable({ containment: "parent", grid: [72,72], }); } }); $(".selector").draggable({ helper: "clone", revert: "invalid", revertDuration: 700, opacity: 0.75, }); $(".plant_Unknown").draggable({ helper: "clone", revert: "invalid", revertDuration: 700, opacity: 0.75, }); }); Any help would be greatly appreciated. Thanks. EDIT: Website

    Read the article

  • textbox character countdown asp.net

    - by Ugene
    i have many textboxes on a form and all textboxes require to have a character limit / character countdown (50 character left of 150), what is the best way to achieve this and can anyone please provide code to implement. Much Grateful Thanks

    Read the article

  • How can I hide this overlay element intelligently?

    - by inkedmn
    The site I'm working on has a collection of navigation elements across the top ("Products", "Company", etc.). When you mouse over the Products link, an overlay appears that shows a list of products with links to each. There's a small link at the top of the container that, when clicked, closes the container. All of this works as advertised. The client has asked that, once a user's mouse pointer is a sufficient distance from the overlay element, the overlay element would close (without them having to click the 'close' link). This element appears on multiple pages that have disparate content, so I'm afraid it won't be as simple as adding a mouseover listener to another single element within the page and have it work everywhere. My question, I suppose, is this: is there a relatively easy way to know when the mouse cursor is x pixels away from this container and trigger an event when this occurs? My other thought is that I could just find several elements on the page that fit this criteria and add mouseover listeners to each, but I'm assuming there's a more elegant way of handling this. Thanks in advance - and please let me know if more detail is needed.

    Read the article

  • Issue with ko.observableArray

    - by user1574860
    I am using Knockout plugin. The following is my code. In this i am making getting the ceremony list from the server and then save that list in the array. But the problem is in IniitialCallForCeremonies(). The array is not initializing with the returned array from IniitialCallForCeremonies() function. function CeremonyViewModel() { var self = this; self.Ceremonies = ko.observableArray(InitialCallForCeremonies()); } $(document).ready(function () { ko.applyBindings(new CeremonyViewModel()); }); function InitialCallForCeremonies() { var request = $.ajax({ url: "address", type: "GET", async: false, dataType: "JSON" }).success(function (data) { var tempArray = new Array(); $.each(data, function (index, value) { tempArray.push(new Ceremony(value)); }); return tempArray; }); } function Ceremony(val) { this.Id = val.Id; this.Event = val.Event; this.Date = val.Date; this.Guest = val.Guest; }

    Read the article

  • How to get number of elements of a class before a certain element

    - by David Shaikh
    I want to know how many elements of a certain class appear in the DOM before an element that let's say has been clicked on. <html> <div class="a"> </div> <div class="b"> <div class="a"> </div> </div> <button>CLick me!</button> <div class="a"> </div> </html> So in the previous DOM tree if the element to be clicked is the button, and Im looking for divs with class "a" it should return 2, even though in the whole tree there are 3, but "before" the button there are only 2. How could I do that? Thanks

    Read the article

  • URL path changes between dev and published version

    - by Bob Horn
    I just got Scott Hanselman's chat app with SignalR working with ASP.NET MVC 4. After hours of configuration, trial and error, and getting different versions of Windows to talk to each other on my home network, it's all working except that I'm left with one issue that I'm not sure how to handle. This line of javascript has to change, depending on if I'm running the app through Visual Studio or the published (IIS) version: Works when running within VS: var connection = $.connection('echo'); Works with published version: var connection = $.connection('ChatWithSignalR/echo'); When I run within VS, the URL is: http://localhost:9145/ And the published version is: http://localhost/ChatWithSignalR If I don't change that line of code, and try to run the app within VS, using the javascript that has ChatWithSignalR in it, I get an error like this: Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:9145/ChatWithSignalR/echo/negotiate?_=1347809290826 What can I do so that I can use the same javascript code and have it work in both scenarios? var connection = $.connection('??????'); Note, this is in my Global.asax.cs: RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");

    Read the article

  • one click, two 'click' event fired

    - by Toni Michel Caubet
    I just want to toggle some elements when a link is clicked: This is how i am trying (But i don't really think that it matters much for this question what's inside the event function callback): /* mostrar exceso de comentarios a peticion del usuario*/ $('.toggleComments').click(function(){ console.log('.toggleComments'); if($(this).parents('.helpContent').find('.commentHideble:visible').length > 0){ $(this).text('+ <?=get_texto_clave('show_old_comments')?>').removeClass('toggleCommentsActive').append(' ('+$(this).parents('.helpContent').find('.commentHideble:not:visible').length+'+)'); }else{ $(this).text('- <?=get_texto_clave('hide_old_comments')?>').addClass('toggleCommentsActive'); } $(this).parents('.helpContent').find('.commentHideble').slideToggle(100); }); I even tried a boolean but gave me same result /* mostrar exceso de comentarios a peticion del usuario*/ var ctoggle = false; $('.toggleComments').click(function(){ if(ctoggle == false){ ctoggle = true; console.log('.toggleComments'); if($(this).parents('.helpContent').find('.commentHideble:visible').length > 0){ $(this).text('+ <?=get_texto_clave('show_old_comments')?>').removeClass('toggleCommentsActive').append(' ('+$(this).parents('.helpContent').find('.commentHideble:not:visible').length+'+)'); }else{ $(this).text('- <?=get_texto_clave('hide_old_comments')?>').addClass('toggleCommentsActive'); } $(this).parents('.helpContent').find('.commentHideble').slideToggle(100); ctoggle = false; } }); Why the log is being fired twice by click?

    Read the article

  • a minimal change to my code is breaking it

    - by Delirium tremens
    Works (it sets lasturi): var domainnameuri; var generaldomainnameuri; domainnameuri = sc.domainnameuri; generaldomainnameuri = sc.generaldomainnameuri; sc.redirectinggeneral = false; $.ajax({ type: "GET", url: generaldomainnameuri, success: function(data, textStatus) { if (data.redirect == domainnameuri) { sc.redirectinggeneral = true; } sc.setlasturi(); } }); Doesn't work (it doesn't set lasturi): this.setredirectinggeneral = function(c) { var domainnameuri; var generaldomainnameuri; domainnameuri = sc.domainnameuri; generaldomainnameuri = sc.generaldomainnameuri; sc.redirectinggeneral = false; $.ajax({ type: "GET", url: generaldomainnameuri, success: function(data, textStatus) { if (data.redirect == domainnameuri) { sc.redirectinggeneral = true; } c(); } }); } sc.setredirectinggeneral(sc.setlasturi); Why?

    Read the article

  • Search and highlight in html with multiple keywords as a single string

    - by Qiusheng
    In JavaScript, by given a html string with tags like: This string has different fonts. <b>This</b> <i>string</i> <span style="background-color: rgb(212, 239, 181);">has</span> <b>different</b> <i>fonts</i>. When user searches for a search term with multiple words like "different fonts". How can I add highlighting to make the html string look like: <b>This</b> <i>string</i> <span style="background-color: rgb(212, 239, 181);">has</span> <span class="highlight"> <b>different</b> <i>fonts</i> </span>. Please note that the search term is treated as a single string as if the words are in a quote, so I cannot search and highlight each word individually.

    Read the article

< Previous Page | 614 615 616 617 618 619 620 621 622 623 624 625  | Next Page >