如何使用这些活动?

时间:2012-02-16 16:25:29

标签: jquery-mobile

我刚刚发现了jquery-mobile,但我觉得这些文档并没有真正适应“初学者”。

所以,我有一个带有一些radiobutton的字段集。当用户“检查”一个按钮时,怎么做用ajax调用在php会话中保存值?

<fieldset data-role="controlgroup">
  <legend>Choose a pet:</legend>
  <input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked" />
  <label for="radio-choice-1">Cat</label>

  <input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2"  />
  <label for="radio-choice-2">Dog</label>

  <input type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3"  />
  <label for="radio-choice-3">Hamster</label>

  <input type="radio" name="radio-choice-1" id="radio-choice-4" value="choice-4"  />
  <label for="radio-choice-4">Lizard</label>
</fieldset>

2 个答案:

答案 0 :(得分:1)

让我们用jQuery示例开始更简单,你对jQuery有多熟悉?

您需要将处理程序绑定到单选按钮上的change事件,然后向您设置会话变量的PHP发出AJAX调用。

要绑定处理程序,请参阅onlive函数的jQuery文档,类似于$(document).ready...

$('input[name="radio-choice-1"]').live('change', function(){
    var value = $(this).val();

    $.ajax({
         //see jQuery ajax functions
    });
});



但是在jQuery Mobile上:

你应该使用jQM(jQuery Mobile)的pageinit事件运行这个代码而不是document.ready,如果你使用多个单页模板和ajax转换更是如此 - 在这种情况下你应该也使用on函数代替live,以便只收听当前页面的冒泡事件。

然后它将类似于

$('#yourPage').on('change', 'input[name="radio-choice-1"]', function(){

答案 1 :(得分:1)

你需要绑定一个更改处理程序并触发ajax调用,如下所示

$('input[name="radio-choice-1"]').live('change', function(){
var selectedValue = $(this).val();

 $.post("save.php", {optionSelected: selectedValue});
});

其中save.php内容为

<?php
session_start();
$_SESSION['radio-choice-1-option'] = $_POST['optionSelected'];
?>