Javascript 获取更改了选择选项值的行的列的值
我试图建立一个网页模型,允许用户给一些项目评分,并将这些评分存储在后台。我有一张这样的桌子 项目Id |标题|评级。在评级列中,我在某些列中有条件地选择标记,否则会有一些文本。我在select上添加了一个onchange事件,当option的值更改时,该事件触发了一个javascript函数,但我想提取select值更改所在行的project_id feld的值。我是一名javascript新手,因此我找不到任何可以解决我问题的方法,我需要该项目id值,因为我需要将该值存储在我的数据库中,我通过Ajax调用使其工作。下面是我的表格: 代码:Javascript 获取更改了选择选项值的行的列的值,javascript,jquery,mysql,Javascript,Jquery,Mysql,我试图建立一个网页模型,允许用户给一些项目评分,并将这些评分存储在后台。我有一张这样的桌子 项目Id |标题|评级。在评级列中,我在某些列中有条件地选择标记,否则会有一些文本。我在select上添加了一个onchange事件,当option的值更改时,该事件触发了一个javascript函数,但我想提取select值更改所在行的project_id feld的值。我是一名javascript新手,因此我找不到任何可以解决我问题的方法,我需要该项目id值,因为我需要将该值存储在我的数据库中,我通过
0
1.
2.
3.
4.
5.
Javascript:(我需要填充变量参数而不带值,以便使用Ajax将其发送到php脚本。)
功能评级()
{
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4){
if(this.status==400){
警惕(“评级时出现问题”);
}
if(this.status==200)
{
警报(“成功给出评级”);
window.location.reload(true);
}
}
};
open(“POST”,“rating.php”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
变量参数=
xhttp.send(参数);
}
要达到预期效果,请使用下面的选项 选项1:
<select onchange="rating(this)" class="form-control" name="projectrating">
a、 parentElement将给出td封闭select,它的parentElement是tr元素,第一个子innerHTML给出第一列值
首先,不能对一个元素使用多个ID
<select id="rating" onchange="rating()" class="form-control" name="projectrating">
所以你的js会是这样的
function rating(){
var paramToSend = document.getElementById("rating").value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState === 4) {
if(this.status===400){
alert("There was a problem while giving the rating");
}
if(this.status===200){
alert("Rating given succesfully");
//window.location.reload(true);
}
}
};
xhttp.open("POST", "rating.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var param="postedParam=" + paramToSend ;
xhttp.send(param); }
因此,在您的rating.php中,您将获得$\u POST['postedParam']什么是rating()功能?请出示您的js-ToostedJavaScripthi,这可以用java脚本完成吗?我对jQuery库了解不多。请检查我的第二个代码笔-使用纯JavaScript,很高兴它对您的问题有所帮助。。如果对您有帮助,请将其标记为已回答:)您能告诉我这是如何工作的吗?太棒了。更新了我的答案。希望对您有所帮助:)
<select onchange="rating(this)" class="form-control" name="projectrating">
function rating(a){
console.log((a.parentElement) .parentElement.childNodes[1].innerHTML)
}
<select id="rating" onchange="rating()" class="form-control" name="projectrating">
var paramToSend = document.getElementById("rating").value;
function rating(){
var paramToSend = document.getElementById("rating").value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState === 4) {
if(this.status===400){
alert("There was a problem while giving the rating");
}
if(this.status===200){
alert("Rating given succesfully");
//window.location.reload(true);
}
}
};
xhttp.open("POST", "rating.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var param="postedParam=" + paramToSend ;
xhttp.send(param); }