2012-06-12 11 views
6

मैं एक डिफ़ॉल्ट खोज मूल्य के साथ एक डेटाटेबल प्रारंभ करने की कोशिश कर रहा हूं जिसे उपयोगकर्ता या तो प्रतिस्थापित या परिष्कृत कर सकता है। यह सर्वर-साइड डेटा के साथ है। मैंने कुछ भी नहीं पढ़ा है जहां आप डेटाटेबल्स दस्तावेज़ में ऐसा कर सकते हैं।jQuery डेटाटेबल्स में खोज इनपुट आरंभ करें

$('#example_filter label input[type=text]').val('Default Product') 

ऊपर मूल्य सेट, लेकिन एक कुंजी दबाने ईवेंट हैंडलर शामिल वजह से नहीं है वहाँ यह लेने नहीं करता है। क्या कोई तरीका है जो मैं ऊपर की ओर श्रृंखला कर सकता हूं जो एंटर कुंजी की तरह कार्य करेगा, या मुझे एक ईवेंट हैंडलर लिखना चाहिए जो फ़ील्ड में बदलाव की तलाश में है। मैं डेटाटेबल्स और एक jquery नौसिखिया के लिए काफी नया हूँ। धन्यवाद।

+0

@ gilly3 का जवाब काम करता है, लेकिन यह एक के बजाय इस पद्धति का उपयोग सर्वर के लिए दो कॉल बना रहा है। डिफ़ॉल्ट खोज मान सेट करने के लिए डेटाटेबल्स में कोई तरीका है? – bikedorkseattle

उत्तर

12

आप .trigger() साथ मैन्युअल रूप से घटना ट्रिगर कर सकते हैं:

$('#example_filter label input[type=text]') 
    .val('Default Product') 
    .trigger($.Event("keypress", { keyCode: 13 })); 

अपने कोड के आधार पर आप "keyup" बजाय कर सकते हैं।

+7

"कुंजीपटल" के साथ काम किया! मेरे पास कुछ समान कोड था लेकिन यह किसी कारण से काम नहीं कर रहा है। धन्यवाद! – bikedorkseattle

+0

मैंने इसे "कीप" के साथ आजमाया है। काम !!! –

+0

'keyup' मेरे लिए काम किया गया है। 'keypress' काम नहीं कर रहा है –

11

उचित तरीके से अब है:

var table = $('#mytable').DataTable(); 
table.search('initial search value').draw(); 
+0

यह उत्कृष्ट है। – radbyx

+0

इसे init प्रक्रिया के बाहर बदलने के लिए, बस '$ (' # myTable ') करें। डेटाटेबल()। खोज (' स्ट्रिंग ')। ड्रा(); ' – tmthyjames

+1

असल में, यह वही नहीं है। डेटाटेबल प्रारंभ होने के बाद यह एक खोज लागू होता है। इसका मतलब यह है कि तालिका में कोई खोज शब्द नहीं है, और फिर आप एक नए खोज शब्द के साथ तालिका को दोबारा हटा रहे हैं। तालिका की init सेटिंग्स में 'खोज' पैरामीटर का उपयोग करने के लिए यह बेहतर (प्रदर्शन के अनुसार) है। –

0

आप डिफ़ॉल्ट सेटिंग बदल सकते हैं:

var my_config = { 
 
      oLanguage: { 
 
       sSearch: "" 
 
      }, 
 
      oSearch: { 
 
       sSearch: "Default Search value" 
 
      } 
 
     }; 
 
$('#search').dataTable(my_config);

2

oSearch का जिक्र जवाब विरासत वाक्यविन्यास का उपयोग कर रहे हैं। As of DataTables 1.10+, सही सिंटैक्स है:

$(document).ready(function() { 
    $('#example').dataTable({ 
    "search": {"search": "Initial search"} 
    }); 
});