2010-09-08 19 views
5

jQuery $(document).ready(function() {} içinde görünmem gereken bir işlev var - javascript ile au fait yaşıyorum ancak jQuery ile gerçekten çalışmıyorum. Bu işlevi nasıl jQuerify edebilirim? Değerim jQuerifying (güzel söz) bulmak tek şey DOM öğesidir berijquery v javascript

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

jQuery gibi kullanmak sadece bazı işlevler sık ​​kullanılan kolay görevleri değil, aynı zamanda daha yavaş olmasına sunuyor, JavaScript'tir. Bu görev önemsizdir ve daha hızlı olacağından ve daha az bağımlılığa sahip olacağından, en iyi şekilde basit Javascript ile yalnız bırakılır. 'JQuerify' – AlexanderMP

+1

+1 için 'jQuerify' –

+0

@Alexander. Doğru ... ama bu durumda önemsiz. –

cevap

3

Aslında neredeyse birebir. i doğru anlamak eğer

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

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

contentTxtBox.value da çalışıyor mu? –

+0

Bu bir yazım hatasıydı, ben 'val() 'anlamına geliyordu. tarih: Eğer – BoltClock

+1

kamışı $ (document) .ready (populateContext) Eğer –

1

bu şekilde

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()); 
}; 

sadece sidenote: jQuery karıştırıp böylece javascript ve maç :)

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

değilim IS Ne demek istediğini alay, ama sen yapabilirsin:

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

jQuery yararlanmak için fonksiyonunu geliştirmek istiyorsanız, bu şekilde yapabilirsiniz: Eğer tam olarak şüphe nedir hakkında, ben daha açıklamak mümkün olabilir, daha fazla bilgi sağlamak durumunda

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

.

+0

Benim asıl talimatları yapıyoruz bu her eklemek istiyorsak '; – ashash

+0

İlgilendiğiniz olay türüne bağlıdır, sizin durumunuzda, DOM Ready olayıdır, basitçe yapabilirsiniz: $ (document) .ready (callback); ve DOM hazır olduğunda jQuery "geri arama" işlevini çağırır. Ama bence şunu okumalısın: http: //api.jquery.com/hazır/şeyler daha açık hale getirecektir :) – Uoli

1

Bu hile

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

Ben konum jQuerifying olan tek kişi gibi görünüyor :) – michael

+0

Güzel - her zaman olduğu gibi çok takdir alkışları alkış. – ashash

+0

+1 for jQuerifying yeri –

4

jQuerify yapmalıdır? Bir eklenti yap!

(function($){ 

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


}(jQuery)); 

ve bu

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

Shucks, Başka bir yerde son oy kullanıyorum, bu yüzden bunu yapamam. Ama onu bir eklentiye dönüştürmek için sahne! JQuery :) – BoltClock

+0

gerçek ruhu şimdi bu gerçekten jQueryfied haahahaha – mcgrailm

+0

Neredeyse bunu oylamak için neredeyse 2 yıl sonra geri geldi. – BoltClock