मैं jQuery 1.3.2 का उपयोग कर रहा हूं, और स्थिति में एक समस्या है जहां मैं getJson के माध्यम से चयन करता हूं select
एचटीएमएल:
<div id="dialDiv">
<select id="select_elem" name="select_elem" style="font-size: 1.4em; line-height: 1em; font-weight: bold; color: #333;">
<input type="button" name="lock" id="lock" value="Lock" onclick="LockTime();" />
</div>
जावास्क्रिप्ट:
// getJson के माध्यम से select_elem भरता है
function ShowDial(){
$.getJSON("GetFreeTimeSlots",{hour:4},function(data)
{
$.each(data, function()
{
$("#select_elem").append("<option value=""+this.Value+"">" + this.Value + "</option>");
});
}
$("dialDiv").dialog(.......).show();
}
इस डायलडिव के अंदर ऑनक्लिक ईवेंट वाला एक बटन है:
function LockTime() {
alert($("#select_elem").val());
}
आईई में यह अलर्ट चयनित आइटम मान दिखाता है, क्रोम में यह "अपरिभाषित" दिखाता है, और एफएफ में यह चयन में पहला विकल्प दिखाता है, इसलिए यह केवल यानी = / में सही ढंग से काम करता है
क्या इसको ठीक करने का कोई तरीका है ?
धन्यवाद !
उत्तर:
उत्तर № 1 के लिए 1प्रयत्न
var sel_val = $("#select_elem option:selected");
alert(sel_val.val());
बेहतर कोडिंग के लिए सिफारिश
$.each(data, function(i,v){
$("<option>").val(v).text(v).appendTo("#select_elem")
});
उत्तर № 2 के लिए 1
अनुपस्थिति से संबंधित समस्या स्पष्ट रूप से चयनित आइटम को निर्दिष्ट करती है। और दूसरी बात - सिर्फ सिफारिश है - पाठ प्रस्तुति के बजाय डोम निर्माण का उपयोग करें, तोह फिर:
function(){
var oOption = document.createElement("OPTION");
oOption.text=this.Value;
oOption.value=this.Value;
if( some_criteria )//add criteria to select
oOption.selected = true;
$("#select_elem").add(oOption);
}