2017-01-25 10 views
0

我有Js數組,它包含動態菜單的值。菜單的選項值隨着事件的ID而改變。jquery選擇警報錯誤的下拉菜單選項值的變化js行爲

有一個包含表單的jQuery彈出窗口。加載窗口後,菜單選項會顯示出來,但jquery不會提示正確的選定值......它總是顯示選擇選項中的第一項

轉到下面的鏈接並單擊「加入事件」按鈕事件ID = 130131CHcbd和150724CH5f1,你看,你挑不出什麼事件的日期,它會提醒同日......

http://www.weg2g.com/application/abovezest/personal_networking.php

我有JS的基礎知識,所以任何建議或幫助解決這個問題...

<script> 
 
var jArray= {"150724CH5f1":"<option value=\"2017-01-27\" id=\"1\"> Fri Jan 27th 2017<\/option> <option value=\"2017-02-03\" id=\"2\"> Fri Feb 3rd 2017<\/option> <option value=\"2017-02-10\" id=\"3\"> Fri Feb 10th 2017<\/option> <option value=\"2017-02-17\" id=\"4\"> Fri Feb 17th 2017<\/option> <option value=\"2017-02-24\" id=\"5\"> Fri Feb 24th 2017<\/option>","130131CHcbd":"<option value=\"2017-01-28\" id=\"1\"> Sat Jan 28th 2017<\/option> <option value=\"2017-02-04\" id=\"2\"> Sat Feb 4th 2017<\/option> <option value=\"2017-02-11\" id=\"3\"> Sat Feb 11th 2017<\/option> <option value=\"2017-02-18\" id=\"4\"> Sat Feb 18th 2017<\/option> <option value=\"2017-02-25\" id=\"5\"> Sat Feb 25th 2017<\/option>"}; //get all 
 
function bind_event_dates(v,type) 
 
{ \t 
 
\t //alert(jArray[v]); 
 
\t var w=jArray[v]; 
 
\t //var y="'"+v+"'"; 
 
\t 
 
\t if (type==3) 
 
\t { 
 
\t var str1='<select name="edate" id="edate_bn_d" onchange="check_e_date(3);" required>'; 
 
\t } // 
 
\t 
 
\t 
 
\t //append the other parts 
 
\t var str2=str1.concat(w); 
 
\t var str3='</select>'; 
 
\t var kk=str2.concat(str3); 
 
\t 
 
\t //alert(rrr); 
 
\t $("#load_dates3").html(kk); 
 
\t 
 
}//end of binding event dates 
 
//-------------------------------------- 
 
    function check_e_date(a) 
 
{ 
 
\t \t if (a==3) 
 
\t \t 
 
\t \t { 
 
\t \t var wanted=$("#edate_bn_d").val(); 
 
      //always select the first option of select menue 
 
\t \t alert(wanted); 
 
\t \t $("#bn_roomatte").val(wanted) 
 
\t \t } 
 
\t \t 
 

 

 
}//end of check event date function 
 
//----------------------------------------------------------------------------- \t 
 
// 
 
</script>

+0

請提供您的HTML以及。 –

+0

轉到下面的鏈接,點擊事件ID = 130131CHcbd和150724CH5f1的「加入事件」按鈕,您可以使用檢查元素來查看HTML代碼 http://www.weg2g.com/application/abovezest/personal_networking.php –

回答

0

我已編輯代碼javascript。它有工作。

var jArray= {"150724CH5f1":"<option value=\"2017-01-27\" id=\"1\"> Fri Jan 27th 2017<\/option> <option value=\"2017-02-03\" id=\"2\"> Fri Feb 3rd 2017<\/option> <option value=\"2017-02-10\" id=\"3\"> Fri Feb 10th 2017<\/option> <option value=\"2017-02-17\" id=\"4\"> Fri Feb 17th 2017<\/option> <option value=\"2017-02-24\" id=\"5\"> Fri Feb 24th 2017<\/option>","130131CHcbd":"<option value=\"2017-01-28\" id=\"1\"> Sat Jan 28th 2017<\/option> <option value=\"2017-02-04\" id=\"2\"> Sat Feb 4th 2017<\/option> <option value=\"2017-02-11\" id=\"3\"> Sat Feb 11th 2017<\/option> <option value=\"2017-02-18\" id=\"4\"> Sat Feb 18th 2017<\/option> <option value=\"2017-02-25\" id=\"5\"> Sat Feb 25th 2017<\/option>"}; //get all 
 
function bind_event_dates(v,type) 
 
{ \t 
 
\t //alert(jArray[v]); 
 
\t var w=jArray[v]; 
 
\t //var y="'"+v+"'"; 
 
\t 
 
\t if (type==3) 
 
\t { 
 
\t var str1='<select name="edate" id="edate_bn_d" onchange="check_e_date(3);" required>'; 
 
\t } // 
 
\t 
 
\t 
 
\t //append the other parts 
 
\t var str2=str1.concat(w); 
 
\t var str3='</select>'; 
 
\t var kk=str2.concat(str3); 
 
\t 
 
\t //alert(rrr); 
 
\t $("#load_dates3").html(kk); 
 
\t 
 
}//end of binding event dates 
 
//-------------------------------------- 
 
    function check_e_date(a) 
 
{ 
 
\t  if (a==3) \t \t 
 
\t \t { 
 
\t \t var wanted=$("#edate_bn_d").val(); 
 
      //always select the first option of select menue 
 
\t \t alert(wanted); 
 
\t \t $("#bn_roomatte").val(wanted) 
 
\t \t } 
 
\t \t 
 

 

 
}//end of check event date function 
 
//----------------------------------------------------------------------------- \t 
 
//
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="UTF-8">  
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> 
 
    <title>Domoos mobile</title> 
 
    <meta http-equiv="refresh" content="600"> 
 
    <meta http-equiv="pragma" content="no-cache"> \t 
 
\t <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
 

 
</head> 
 
<body onload="bind_event_dates('150724CH5f1',3);"> 
 
\t <div id="load_dates3"> 
 
\t </div> 
 
</body> 
 

 
</html>

+0

您已在頁面加載行爲中添加。但是,當用戶點擊按鈕時,jQuery窗口打開,然後填充菜單選項。選項完美填充;但是,它確實選擇了正確的值。您是否看到警告給出錯誤值的網站的鏈接.. –

+0

作爲一個註釋,它適用於沒有jArray並且表單選項由php填充的事件詳細信息頁面 –