2016-12-06 5 views
5

का उपयोग कर कई सूची में चयनित मैं डीबी से एक सूची है जो एक का चयन एकाधिक टैग में प्रदर्शित किया जाता है:लागू करें: jQuery

<select multiple="multiple" id="list" name="color"> 
 
    <option value="1">Red</option> 
 
    <option value="2">Green</option> 
 
    <option value="3">Blue</option> 
 
    <option value="4">Magenta</option> 
 
    <option value="5">Black</option> 
 
    <option value="6">Cyan</option> 
 
    <option value="7">Yellow</option> 
 
</select>

डीबी से मूल्यों की एक सरणी को देखते हुए, चयन करने की आवश्यकता केवल उन आइटम जो डीबी सरणी में पाए जाते हैं, उदाहरण के लिए [2,4,7]। मैं इन विकल्प टैग में jQuery, attr('selected') के साथ कैसे दबा सकता हूं?

<select multiple="multiple" id="list" name="color"> 
 
    <option value="1">Red</option> 
 
    <option value="2" selected="selected">Green</option> 
 
    <option value="3">Blue</option> 
 
    <option value="4" selected="selected">Magenta</option> 
 
    <option value="5">Black</option> 
 
    <option value="6">Cyan</option> 
 
    <option value="7" selected="selected">Yellow</option> 
 
</select>

ऊपर की तरह।

उत्तर

9

तुम बस .val() उपयोग करने के लिए है:

$('#list').val([2,4,7]); 

आशा इस मदद करता है।

$('#list').val([2,4,7]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select multiple="multiple" id="list" name="color"> 
 
    <option value="1">Red</option> 
 
    <option value="2">Green</option> 
 
    <option value="3">Blue</option> 
 
    <option value="4">Magenta</option> 
 
    <option value="5">Black</option> 
 
    <option value="6">Cyan</option> 
 
    <option value="7">Yellow</option> 
 
</select>

+1

मुझे नहीं पता था 'वैल()' एक सरणी ले लिया:

यहाँ मैं के साथ आया था, एक सरणी, एक पाश, document.querySelector और setAttribute का उपयोग कर रहा है। अच्छा उत्तर। –

2

पूर्णता के लिए, मुझे लगता है मैं एक सादे जावास्क्रिप्ट समाधान जोड़ना होगा सोचा।

var preSelected = [2,4,7]; 
 

 
for (var i = 0; i < preSelected.length; i++) { 
 
var option = document.querySelector('#list option[value="' + preSelected[i] + '"]'); 
 
option.setAttribute('selected','selected'); 
 
}
<select multiple="multiple" id="list" name="color"> 
 
<option value="1">Red</option> 
 
<option value="2">Green</option> 
 
<option value="3">Blue</option> 
 
<option value="4">Magenta</option> 
 
<option value="5">Black</option> 
 
<option value="6">Cyan</option> 
 
<option value="7">Yellow</option> 
 
</select>

+0

मुझे वास्तव में यह नहीं मिलता है कि मैं गलत कर रहा हूं ... https://jsfiddle.net/sealview/49drqsse/1/ – sealview

+0

आपके पास '$ (दस्तावेज़) के बजाय' $ (दस्तावेज़) .readu' है .ready'। – Rounin

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