我的 jQuery Mobile 页面有一个可折叠的部分,它是从 MS Sql 数据库的 PHP 输出和我喜欢的内容渲染生成的,所以这部分没问题。
在每个部分中,我创建了一个带有 3 个按钮的表单,它们应该具有唯一的 ID:s。所有表单也被创建为在运行时创建一个唯一的 id。
actions.php(将我的元素渲染到 mobilepage ia DIV 中)
$counter=0; reset counter for ID:s
while (odbc_fetch_row($rs)){
// data output from Db to make like 10 collapsible with different data
$html = "";
$html = "<div data-role='collapsible-set' data-mini='true'>";
$html.="<div data-role='collapsible' data-mini='true'>";
$html.="<h3><span style=float:left;><img src='../_pic/$image' alt='$imageText' /> ".substr($Time,0,16)." $Area</span><span style='float:right;' class='ui-btn-up-c ui-btn-corner-all' cnt> $data </span></h3>";
$html.="<p>ID: $ID $Id $Status<br />$Status $Description)</p>";
$html.="<form method='post' action=''>";
$html.="<button value='action1' id='action1$counter' data-mini='true' type='Submit'>Take Action1</button>";
$html.="<button value='action2' id='action2$counter' data-mini='true' type='Submit'>Take Action1</button>";
$html.="<button value='action3' id='action3$counter' data-mini='true' type='Submit'>Take Action1</button>";
$html.="<input type='hidden' id='id$counter' name='id' value='$dataName' />";
$html.="</form>";
$html.="</div>";
$html.="</div>";
echo utf8_encode($html);
$counter++; //upcount to make Id:s unique
} //end While
然后我有这个函数来监听一个提交的按钮:
$(':submit').live('click', function() {
var button = $(this).val();
if (button == 'action1') {
$.ajax({
url: '../_php/Functions.php',
data: 'button=' + $(this).val()+'&id='+$('#id').val(),
async: true,
beforeSend: function() {
$.mobile.showPageLoadingMsg(true);
},
complete: function() {
$.mobile.hidePageLoadingMsg();
},
error: function (request,error) {
alert('error');
}
});
}
return false;
});
我似乎无法获得除第一个之外的另一个 ID,因为我需要使所有 ID:在我的表单中都是唯一的,而我现在要做的就是检查:&id='+$('#id').val()
。我想做的是将按钮按下的 ID 号链接到我的隐藏字段 ID 号,以便从中获取正确的数据。截至目前,我只得到第一种形式:s id 评估...
如果有人能指出我正确的方向如何实现这一点,我会很感激的。
functions.php(一个 switch 语句正在预测试 submit:ed 操作
function actions1(){
try {
if(isset($_GET['id'])){
do stuff with 'id'
}else{
do other stuff with 'id'
}
} catch(Exception $e) {
show error
}
}
如果某些部分不清楚,或者您觉得我错过了发布某些部分 - 请告诉我。/谢谢