Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在程序生成的选择元素列表中更改特定选择元素的背景色_Php_Jquery_Html_Css - Fatal编程技术网

Php 在程序生成的选择元素列表中更改特定选择元素的背景色

Php 在程序生成的选择元素列表中更改特定选择元素的背景色,php,jquery,html,css,Php,Jquery,Html,Css,我试图使用jQuery根据在中选择的选项更改select元素的背景色 要生成select元素,我将使用以下代码: while ($qrow = $qquery->fetch(PDO::FETCH_ASSOC)) { $aqanswer = "qAnswer" . $qrow['questionID'] . ""; $aqcomments = "qComments" . $qrow['questionID'] . "";

我试图使用jQuery根据在中选择的选项更改select元素的背景色

要生成select元素,我将使用以下代码:

while ($qrow = $qquery->fetch(PDO::FETCH_ASSOC)) {
            $aqanswer = "qAnswer" . $qrow['questionID'] . "";
            $aqcomments = "qComments" . $qrow['questionID'] . "";
            echo "<tr><td class='auditf'>" . $qrow['qDesc'] . "</td><td class='auditm'><select name='qAnswer" . $qrow['questionID'] . "' form='entryform' id = 'selectqAnswer". $qrow['questionID'] ."'>";
            if (isset($_SESSION[$aqanswer])) {
                if ($_SESSION[$aqanswer] === 'Green') {
                    echo "<option value='Green' selected='true' class = 'green'>Green</option>";
                    echo "<option value='Red' class='red'>Red</option>";
                } elseif ($_SESSION[$aqanswer] === 'Red') {
                    echo "<option value='Green' class ='green'>Green</option>";
                    echo "<option value='Red' selected='true' class = 'red'>Red</option>";
                }
                unset($_SESSION[$aqanswer]);
            } else {
                echo "<option value='Green' selected='true' class = 'green'>Green</option>";
                echo "<option value='Red' class = 'red'>Red</option>";
            }
            echo "</select></td><td class='auditl'><textarea name='qComments" . $qrow['questionID'] . "' rows='3' cols='30' maxlength='255' value='N/A'>";
            if (isset($_SESSION[$aqcomments])) {
                echo $_SESSION[$aqcomments];
                unset($_SESSION[$aqcomments]);
            } else {

            }
            echo "</textarea></td></tr>";
        }
现在这确实起作用了,但是很明显,它会导致页面上的每个框都发生变化。问题是,页面上的框数可能会根据用户选项而改变,因此我没有一个固定的select id列表,可以在jQuery中单独引用。我试过用谷歌搜索这个问题,但每一个结果都是关于具体命名ID,而不是使用程序生成的ID。当我不知道具体的ID将提前出现时,如何仅根据所选的选择选项更改特定选择元素的背景色。

$(“[ID^=selectqAnswer]”)。attr(“class”,color)

如果要更改当前选择的颜色,请使用
this

Javascript

$(this).attr("class", color);
$(“[id^=selectqAnswer]”)attr(“类”,颜色)

如果要更改当前选择的颜色,请使用
this

Javascript

$(this).attr("class", color);

更改
$(“[id^=selectqAnswer]”)属性(“类”,颜色)
$(this).attr(“类”,颜色)
@Huelfe谢谢。您也可以使用
$(this.addClass(color)-更改
$(“[id^=selectqAnswer]”)属性(“类”,颜色)
$(this).attr(“类”,颜色)
@Huelfe谢谢。您也可以使用
$(this.addClass(color)-谢谢你和上面的评论。我会尽快接受。谢谢你和上面的评论。我会尽快接受的。