2012-07-05 126 views
-1

我想通過val()方法從下拉菜單中獲取所選項目的值。當我用純jQuery格式使用它時,它工作的很好。但是當我把我的內容分區,它不工作。下面是代碼(僅實現內容DIV):val()不能在jquery mobile中工作

的header.php

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> 

    <title>RSS Reader</title> 

    <link rel="stylesheet" href="main/jquery.mobile-1.1.0.min.css" /> 
    <script src="main/jquery-1.6.4.min.js"></script> 
    <script src="main/jquery.mobile-1.1.0.min.js"></script> 

</head> 
<body> 

的settings.php:

<?php 
include('../main/header.php'); 
$siteNumber = empty($_GET['siteNumber']) ? 'Živé' : $_GET['siteNumber']; 
?> 
<div data-role="page"> 
    <div data-role="header"> 
     Nastavenia 
    </div> 
    <div data-role="content"> 
     <select id="training" name="training" data-native-menu="false"> 
     <option value="1">Živé</option> 
     <option value="2">MobilMania</option> 
     <option value="3">Automoto</option> 
     </select> 
     <script> 
      function displayVals() { 
      var defaultSiteNumber = $($("#training")[0]).val(); 
      $("p").html("<b>defaultSiteNumber:</b> " + 
        defaultSiteNumber); 
      } 

      $("select").change(displayVals); 
      displayVals(); 
     </script> 
    </div> 
    <div data-role="footer"> 
     <div data-role="navbar"> 
     <ul> 
      <li><a href = "../index.php?siteNumber=<?php echo $siteNumber;?>" data-icon="home">Späť</a></li> 
      <li><a href = "settings.php?save=true" data-icon="gear">Hotovo</a></li> 
     </ul> 
     </div> 
    </div> 
</div> 

後,我得到這些值轉換爲JavaScript我需要他們提供在PHP變量中,所以我可以使用它們來創建配置文件。或者你認爲用javascript創建配置文件會更簡單嗎?它應該與結構基本的.ini這是parse_ini_file接受

編輯:我已經交鋒整個代碼包括headerp.php,以確保不存在導致此問題的其他錯誤。

+0

'$($( 「#訓練」)[0])'是難看和不必要的,因爲'.VAL()'無論如何都會使用所述第一元件和更重要的** id是唯一的**,所以在那個jQuery對象中不應該有一個以上的元素。因此,只需使用$('#training')。val()' – ThiefMaster 2012-07-05 11:37:06

+0

原來它是$(「#training」)。我只添加[0]以嘗試在此發佈的解決方案之一。這些仍然沒有解決我的問題。 – horin 2012-07-05 11:44:07

+0

請不要將解決方案代碼合併到您的問題中。這個問題不應該包含固定代碼,因爲這可能會「使某些答案無效」。 – ThiefMaster 2012-07-05 11:45:24

回答

0

使用此代碼可 它工作

$("select").bind("change", function(event, ui) { 
    var defaultSiteNumber = $(this).val(); 
    $("p").html("<b>defaultSiteNumber:</b> " + defaultSiteNumber); 
}); 
+0

是的,它只適用於純HTML。我不能讓它在jquery mobile divs中工作。 – horin 2012-07-05 11:23:23

+0

請參閱編輯的代碼 – Krishna 2012-07-05 11:35:54