HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色


HTML - changing color in text area from an option inside of a select box generated from mysql

我一直在努力寻找与我想要的相似的东西,但似乎无法找到确切的解决方案。我不是一个HTML程序员,但我必须在HTML中做一些工作,所以我正在学习。我知道我的代码可能有点乱/不需要,所以请原谅我。我已经找到了一些类似的javascript,所以你会在下面看到这一点。

  • 首先,我创建了一个表格,在单元格中插入了选择框和文本区域
  • 选择框是从MySQL生成的(我也使用PHP)
  • 当我从该选择框中选择特定选项时,我希望在不同的单元格中更改文本区域背景
  • 我已经给了文本区域一个ID,这样就可以实现这一点

我目前可以使用这个:

<select  onChange="updateColor(this.options[this.selectedIndex].value);"  name="sunday combo" id="Suncombo2">
    <option value= " " selected="selected">Please Select</option>
    <option value="FFFFCC">light yellow
    <option value="CCFFFF">light blue
    <option value="CCFFCC">light green
    <option value="CCCCCC">gray
    <option value="FFFFFF">white'

    Javascript: 
<SCRIPT LANGUAGE="JavaScript">
function updateColor(color){
    var myCell = document.getElementById('2ndInputSun');     
        myCell.style.background = "#"+color;
}

HTML:

<tr class="5row">
<td class="2ndInputMon"><textarea></textarea></td>
<td class="2ndInputTues"><textarea></textarea></td>
<td class="2ndInputWed"><textarea></textarea></td>
<td class="2ndInputThurs"><textarea></textarea></td>
<td class="2ndInputFri"><textarea></textarea></td>
<td class="2ndInputSat"><textarea></textarea></td>
<td class="2ndInputSun"><textarea></textarea></td>

然而,当我插入所有这些内容时,文本区域的颜色没有变化。

您没有给元素一个ID,而是给了它们一个class。因此getElementById()将不起作用。更改html以添加ID而不是CLASS。

function updateColor(color){
 myCell = document.getElementById('2ndInputSun');     
        myCell.firstChild.style.backgroundColor = "#"+color;
}

这将更改文本区域的颜色(td的firstChild)。

此外,您可以简化:onchange="updateColor(this.value);

演示:http://jsfiddle.net/hrybcahk/