2010-09-08 16 views
5

Tengo una función que necesito que aparezca dentro de un jQuery $(document).ready(function() {} - Soy au fait con javascript pero realmente no funcionó con jQuery. ¿Cómo puedo jQuerify esta función?jquery v javascript

function populateContext() 
{ 
    contextTxtBox = document.getElementById('searchContext'); 
    pathArr = window.location.pathname.split('/'); 
    contextTxtBox.value = pathArr[1].toUpperCase(); 
}; 
+3

jQuery JavaScript es, que sólo ofrece algunas funciones que hacen las tareas más frecuentes más fácil, pero también más lento. Esta tarea es trivial, y lo mejor es dejarlo solo con Javascript simple, ya que será más rápido y tendrá menos dependencias. – AlexanderMP

+1

+1 para 'jQuerify' –

+0

@Alexander. Es cierto ... pero es trivial en este caso. –

Respuesta

3

En realidad es casi idéntico ya que la única cosa que me parece digno jQuerifying (bonita palabra) es el elemento DOM.

function populateContext() 
{ 
    var contextTxtBox = $('#searchContext'); 
    var pathArr = window.location.pathname.split('/'); 
    contentTxtBox.val(pathArr[1].toUppercase()); 
} 

$(document).ready(function() 
{ 
    populateContext(); 
}); 
+0

contentTxtBox.value ¿funciona también? –

+0

Eso fue un error tipográfico, quise decir 'val()'. – BoltClock

+1

cane se simplificará a $ (documento). Listo (populateContext) si todo lo que estás haciendo –

1

esta manera, si he entendido bien

function populateContext() 
{ 
    contextTxtBox = $('#searchContext'); 
    pathArr = window.location.pathname.split('/'); 
    contextTxtBox.val(pathArr[1].toUpperCase()); 
}; 
1
$(document).ready(function() { 
//whatever code you want 

}); 

function populateContext() { 
    pathArr = window.location.pathname.split('/'); 
    $("#searchContext").Val(pathArr[1].toUpperCase()); 
}; 

sólo una nota al margen: jQuery es javascript para que pueda mezclar y combinar :)

0
function populateContext(){ 
    contentTxtBox = $('#searchContext'); 
    pathArr = window.location.pathname.split('/'); 
    $(contextTxtBox).val(pathArr[1].toUpperCase()); 
} 
0

no soy seguro a lo que te refieres, pero podrías hacer:

$(document).ready(function() { 
    populateContext() 
}); 

Si usted desea mejorar su función para hacer uso de jQuery, que podría hacer de esta manera:

function populateContext() { 
    var $contextTxtBox = $('#searchContext'); 
    pathArr = window.location.pathname.split('/'); 
    $contextTxtBox.val(pathArr[1].toUpperCase()); 
}; 

Si proporciona más información, sobre lo que es exactamente su lugar a dudas, que puede ser capaz de explicar mejor .

+0

Mis instrucciones reales son agregar: en Función de escucha cargada DOM 'DomLoaded' ----------- función populateContext() { \t contextTxtBox = document.getElementById ('searchContext'); \t pathArr = window.location.pathname.split ('/'); \t contextTxtBox.value = pathArr [1] .toUpperCase(); } // poblar el contexto de búsqueda DomLoaded.load (populateContext); ¿Cómo maneja Jquery a los oyentes? – ashash

+0

Depende del tipo de evento que le interese, en su caso, es el evento DOM Ready, puede simplemente: $ (documento) .ready (devolución de llamada); y jQuery llamará a la función de "devolución de llamada" cuando DOM esté listo. Pero creo que deberías leer: http: //api.jquery.com/ready/hará las cosas más claras :) – Uoli

1

Esto debería hacer el truco

function populateContext() { 
    var aPath = $(location).attr('href').split("/"); 
    $('#searchContext').val(aPath[1].toUpperCase()) 
} 
+0

Parece que soy el único que está jQuerificando la ubicación :) – michael

+0

Agradable - aplausos a los chicos muy apreciados como siempre. – ashash

+0

+1 para jQuerificar la ubicación –

4

jQuerify? ¡Hazlo un complemento!

(function($){ 

    $.fn.populateContext = function(){ 
     var pathArr = window.location.pathname.split('/'); 
     return this.val(pathArr[1].toUpperCase()); 
    }; 


}(jQuery)); 

y utilizar de esta manera

$(document).ready(function(){ 
    // Same as window.onload 
    $("#searchContext").populateContext(); 
}); 
+0

Shucks, acabo de utilizar mi última votación en otro lugar, así que no puedo subir esta. ¡Pero apoyos para convertirlo en un complemento! El verdadero espíritu de jQuery :) – BoltClock

+0

ahora eso es realmente jQueryfied haahahaha – mcgrailm

+0

Regresé casi 2 años después para finalmente votar esto. – BoltClock