का उपयोग कर वास्तविक विकल्प के लिए चयनित तत्व पर चयनित विशेषता सेट करना मैं jQuery में विकल्प तत्वों के साथ एक चयन सूची उत्पन्न कर रहा हूं। सरलीकृत यह इस तरह दिखता है:jQuery
var sel = $("<select>");
$.each(data, function(i, v){
$("<option>").attr({ "value": i }).html(v).appendTo(sel);
});
तब मुझे एक विकल्प चुनना है। आम तौर पर मैं कुछ ऐसा करूंगा:
$(sel).val(1);
लेकिन फिर विकल्प में चयनित विशेषता मौजूद नहीं है।
$(sel).html()
की तरह कुछ देता है:
<option value="1">1</option>
<option value="2">2</option>
और इस मेरी अपेक्षा है:
$.each(data, function(i, v){
var attrs = { "value": i };
if(i == 1){
attrs.selected = "selected";
}
$("<option>").attr(attrs).html(v).appendTo(sel);
});
:
<option value="1" selected="selected">1</option>
<option value="2">2</option>
मैं इस दृष्टिकोण (.val का उपयोग कर के रूप में एक ही परिणाम()) की कोशिश की
लेकिन काम करने का एकमात्र तरीका यह है:
$.each(data, function(i, v){
var el = "<option>";
if(i == 1){
el = '<option selected="selected"></option>';
}
$(el).attr({ "value": i }).html(v).appendTo(sel);
});
क्या कोई अन्य या बेहतर तरीका है?
+1 - http://jsfiddle.net/QFFeF/1/ – karim79
चयनित होने पर jQuery स्रोत और attr इंटरसेप्ट की जांच की गई है और चयनित इंडेक्स का भी उपयोग करता है। उत्तर के लिए धन्यवाद - भूलना आसान है कि jQuery से पहले एक समय था :) – sunn0