2012-07-05 132 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