2016-04-29 10 views
6

मैं एक jQuery प्लग-इन का उपयोग कर रहा हूं: बूटस्ट्रैप-select.js मेरा HTML चुनिंदा (एकाधिक) -> विकल्प है। जब मैं उपयोगकर्ता विकल्प का चयन या चयन रद्द करता हूं तो मैं वर्तमान में विकल्प मान पर क्लिक करना चाहता हूं।बूटस्ट्रैप-क्लिक पर क्लिक करें क्लिक करें मूल्य

उदाहरण: उपयोगकर्ता का चयन करता है आइटम 4 = console.log आइटम 4. फिर उपयोगकर्ता भी चयन करता है आइटम 2 = console.log आइटम 2. वर्तमान में मैं हो रही है आइटम 4, आइटम 2 ... वे हमेशा में हैं एक सरणी और व्यक्तिगत नहीं।

मेरा अंतिम लक्ष्य पृष्ठ पर divs को दिखाने और छिपाने के लिए है जो उपयोगकर्ता ने चुना है। कई चयन विकल्प फ़ील्ड होंगे।

एचटीएमएल कोड:

<fieldset class="dreamT"> 
    <select name="team" id="team" multiple class="dropdown selectpicker show-menu-arrow show-tick form-control" title="Pelaajat" data-width="100%" data-size="auto" multiple data-selected-text-format="count > 2"> 
    <optgroup> 
     <option value="item 1">Item 1</option> 
     <option value="item 2">Item 2</option> 
     <option value="item 3">Item 3</option> 
     <option value="item 4">Item 4</option> 
     <option value="item 5">Item 5</option> 
     <option disabled value="item 6">Item 6</option> 
    </optgroup> 
    </select> 
</fieldset> 

जे एस कोड:

$("select#team").on("change", function(value){ 
    var This  = $(this); 
    var selectedD = $(this).val(); 
    console.log(selectedD); 
}); 

वर्तमान उत्पादन: ["item 1", "item 3", "item 4", "item 5"]

साइट प्लग-इन: bootstrap-select

+0

आप 'कोशिश की $ है (" का चयन करें # टीम ")। (" क्लिक करें ", फ़ंक्शन (घटना, मूल्य) '? – Osuwariboy

+0

@Osuwariboy नहीं? आपका मतलब क्या है? मैं इसे कैसे कार्यान्वित करूं? : डी – Bonttimo

उत्तर

7

में वर्णित है bootstrap-select events आप changed.bs.select घटना का उपयोग कर सकते हैं।

यह घटना चयन के मूल्य को बदलने के बाद आग लगती है। यह निम्न 4 तर्क से होकर गुजरता है:

  • घटना
  • clickedIndex
  • newValue
  • OLDVALUE

$(function() { 
 
    $("#team").on("changed.bs.select", function(e, clickedIndex, newValue, oldValue) { 
 
    var selectedD = $(this).find('option').eq(clickedIndex).text(); 
 
    $('#log').text('selectedD: ' + selectedD + ' newValue: ' + newValue + ' oldValue: ' + oldValue); 
 
    }); 
 
});
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/css/bootstrap-select.min.css"> 
 
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.min.js"></script> 
 

 

 
<fieldset class="dreamT"> 
 

 
    <select name="team" id="team" multiple class="dropdown selectpicker show-menu-arrow show-tick form-control" title="Pelaajat" data-width="100%" data-size="auto" multiple data-selected-text-format="count > 2"> 
 
     <optgroup> 
 
      <option value="item 1">Item 1</option> 
 
      <option value="item 2">Item 2</option> 
 
      <option value="item 3">Item 3</option> 
 
      <option value="item 4">Item 4</option> 
 
      <option value="item 5">Item 5</option> 
 
      <option disabled value="item 6">Item 6</option> 
 
     </optgroup> 
 
    </select> 
 
</fieldset> 
 
<p id="log"></p>

+0

यह काम करता है, लेकिन केवल तभी जब वे मूल्य और टेक्स्ट मिलान करते हैं। मेरे मामले में वे इसलिए दुर्भाग्य से काम नहीं करते हैं और मैं अभी भी समाधान ढूंढने की कोशिश कर रहा हूं। –

+1

@luke_mclachlan हाय ल्यूक, क्या आप [fiddle] (https://jsfiddle.net/9jugo0rw/2/) पर एक नज़र डाल सकते हैं? आप विकल्प टेक्स्ट या मूल्य ले सकते हैं। मैं समझ नहीं पा रहा हूं कि आप क्या खोज रहे हैं। अपनी समस्या को स्पष्ट करने की इच्छा न करें। बहुत बहुत धन्यवाद। – gaetanoM

+0

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

1

या बस विकल्प तत्वों पर घटना है ...

$("option").on("click", function(value){ 
     var This = $(this); 
     var selectedD = $(this).val(); 
     console.log(selectedD); 
}); 

https://jsfiddle.net/adjavaherian/ssqz4sh8/

+0

यह प्लग-इन के साथ काम नहीं करता है। किसी भी तरह यह कुछ भी नहीं देता है। मुझे नहीं पता क्यों, लेकिन अगर मैं क्लिक का उपयोग करता हूं तो यह कुछ भी नहीं करता है। – Bonttimo

+1

ऐसा इसलिए है क्योंकि विकल्प पर क्लिक नहीं होता है, यह उस अवधि पर होता है जो इसे दर्शाता है –

संबंधित मुद्दे