为什么我的脚本没有达到我的目的
在我的网站上有表格内容,我给出这样的静态值
Lay Out Penempatan Produk UHT Area Gudang Rak AF function setvalue(values) { document.getElementById('posisi').value = values; } var htmlobjek; $(document).ready(function(){ //apabila terjadi event onchange terhadap object $("#pid").change(function(){ var pid = $("#pid").val(); $.ajax({ url: "ambilnamaproduk.php", data: "pid="+pid, cache: false, success: function(data){ $("#pname").val(data); } }); }); }); var i = $("#myTD").val(); alert(i); var htmlobjek; $(document).ready(function () { var i = $("#myTD").val(); $.ajax({ url: "cek.php", type:'POST' data: "i="+i, cache: false, success: function (data) { $("#cek").val(data); } }); }); var k = $("#cek").val(); if(k = "0"){ $(document).ready(function () { $(".data").css("background-color", "#00CC00");//green }); } else{ $(document).ready(function () { $(".data").css("background-color", "#FF0000");//red }); } A1 A2 A3 A4 A5 A6 A7 A8 A9 A4.4 A4.8 A5.4 A5.8 A6.4 A6.8 A7.4 A7.8 A8.4 A8.8 A9.4 A9.8 A1.3 A1.7 A2.3 A2.7 A3.3 A3.7 A4.3 A4.7 A5.3 A5.7 A6.3 A6.7 A7.3 A7.7 A8.3 A8.7 A9.3 A9.7 A1.2 A1.6 A2.2 A2.6 A3.2 A3.6 A4.2 A4.6 A5.2 A5.6 A6.2 A6.6 A7.2 A7.6 A8.2 A8.6 A9.2 A9.6 A1.1 A1.5 A2.1 A2.5 A3.1 A3.5 A4.1 A4.5 A5.1 A5.5 A6.1 A6.5 A7.1 A7.5 A8.1 A8.5 A9.1 A9.5
Aksi Werehouse Product - Jenis Werehouse - <?php $q = mssql_query("select WHSName from tblSPDMstWarehouseProduct Order by WHSID"); while ($r = mssql_fetch_array($q)){ echo "$r[WHSName]"; } ?> Posisi Product ID - Produk ID - <?php $q = mssql_query("select ProductID from tblMstProduct Order by ProductID"); while ($r = mssql_fetch_array($q)){ echo "$r[ProductID]"; }?> Product Name Production Date
然后我使用jquery选择器来获取该值并使用ajax像这样执行该值
var htmlobjek; $(document).ready(function () { var i = $("td").find("td.data").val(); $.ajax({ url: "cek.php", data: "i", cache: false, success: function (data) { $("#cek").val(data); } }); });
在cek.php当然是这样的
根据之前的答案,是的,它的工作。 但在单桌。 我检查了我的html结构(没关系)。 在我修改成复杂的表后,同样的情况再次发生。
在你的
你忘记了 。
$(document).ready(function(){ function setvalue(values) { $('#posisi').val(values); } var htmlobjek; //apabila terjadi event onchange terhadap object
在cek.php中,你的’i’应该是$_POST['data']
。
仅供参考:如果您有多个具有值的行,或者多个表在这些表的行中具有值,则应该将代码编写为不同的。 请看这个jsFiddle 。
但是如果有很多值,会有很多ajax调用。 更好的解决方案是将值添加到隐藏输入。 请看这个jsFiddle 。
希望它能帮到你。
试试这个,希望它会有用
var j = $("td").find("td.data").val(); //make sure this will returning value $.ajax({ url: "cek.php", type:"POST", data: { i: j }, //Or try { i: $("td").find("td.data").val()}, cache: false, success: function (data) { $("#cek").val(data); } });
在PHP中
$posisi = $_POST['i'];
例子formsjQuery网站
$.post("test.php", { name: "John", time: "2pm" }) .done(function(data) { alert("Data Loaded: " + data); });
首先尝试修复此问题:
var i = $("td").find("td.data").val(); ... data: "i",
至
var i = $("td").find(".data").attr('value'); ... data: "i="+i,
你的javascript函数有两个主要问题1)你的变量
data: "i",
应该
data: i,
2)其次你没有提到ajax方法的类型,它是GET或POST,在AJAX默认类型将是GET,如果你没有提到它。 因此,在您的情况下,您传递类型是GET并尝试访问变量作为POST。 所以将此行添加到您的AJAX调用中
type:'POST',
试试这个=
$.ajax({ url: "cek.php", data: { "data": i}, cache: false, success: function (data) { $("#cek").val(data); } });
在PHP中你可以像下面这样做:
$data = $_POST['data']; //you will get your value