/ / asp.net mvc, jquery डायलॉग + सेलेक्ट + getJson (ff, यानी और क्रोम में अलग-अलग परिणाम) - jquery, asp.net-mvc

asp.net mvc, jquery संवाद + चयन + getJson (ff, और क्रोम में विभिन्न परिणाम) - jquery, asp.net-mvc

मैं 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);
}