Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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
Javascript 使用选择/选项更改文本颜色_Javascript_Html_Html Select - Fatal编程技术网

Javascript 使用选择/选项更改文本颜色

Javascript 使用选择/选项更改文本颜色,javascript,html,html-select,Javascript,Html,Html Select,我正在尝试使用“选择”对象更改文本颜色,尝试获取我选择的颜色并将其设置为文本。有两个函数对我的脚本进行了注释,都是我试图完成的,但都失败了。不要问完整的答案/代码,只想知道哪里出了问题。 这是代码,感谢您抽出时间: <!DOCTYPE HTML> <html> <head> <title>Hola Mundo Controles</title> <meta name="author" con

我正在尝试使用“选择”对象更改文本颜色,尝试获取我选择的颜色并将其设置为文本。有两个函数对我的脚本进行了注释,都是我试图完成的,但都失败了。不要问完整的答案/代码,只想知道哪里出了问题。 这是代码,感谢您抽出时间:

<!DOCTYPE HTML>
<html>
    <head>
        <title>Hola Mundo Controles</title>
        <meta name="author" content="José Del Valle Cordero"/>
        <meta charset="utf-8" />
    </head>

    <body>
        <div class="main">
            <div class="subject" id="subject">
                <span id="salute">¡Hello!</span>
            </div>
            <div id="control">
                 <div class="color_option">
                     Color:
                     <select name="color_list" id="colors" >
                         <option value="cl_option1" checked="checked">Red </option>
                         <option value="cl_option2">Blue </option>
                         <option value="cl_option3">Yellow </option>
                         <option value="cl_option4">Black </option>
                     </select>
                 </div>
             </div>  
         </div>
     <script type="text/javascript">
        var item,cl;
        var colorsMap = {
            'cl_option1' : "red",
            'cl_option2' : "blue",
            'cl_option3' : "yellow",
            'cl_option4' : "black"
        };

        /*colors.onchange=function() {
            var salute = document.getElementById("salute");
            var item = document.getElementById("colors").selectedIndex;
            var color = colorsMap[item];
            salute.style.color = color;

        };*/


        /*$('#colors').change(function(){
            var salute = document.getElementById("salute");
            item=$(this).val();
            cl = colorsMap[item];
           salute.style.color = cl;
        });*/        
    </script>
</body>

Hola Mundo控件
“你好!
颜色:
红色
蓝色
黄色的
黑色
var项目,cl;
var colorsMap={
“cl_选项1”:“红色”,
“cl_选项2”:“蓝色”,
“cl_选项3”:“黄色”,
“cl_选项4”:“黑色”
};
/*colors.onchange=function(){
var sallet=document.getElementById(“sallet”);
var item=document.getElementById(“颜色”)。选择索引;
var color=colorsMap[项目];
礼炮。风格。颜色=颜色;
};*/
/*$('#colors')。更改(函数(){
var sallet=document.getElementById(“sallet”);
item=$(this.val();
cl=颜色映射[项目];
Salet.style.color=cl;
});*/        

你很接近了。将jQuery包含在
中:


然后在JS中:

<script type="text/javascript">
var colorsMap = {
  'cl_option1' : "red",
  'cl_option2' : "blue",
  'cl_option3' : "yellow",
  'cl_option4' : "black"
};


  $('#colors').change(function(){
     $("#salute").css('color', colorsMap[$(this).val()]);
  });
  </script>

var colorsMap={
“cl_选项1”:“红色”,
“cl_选项2”:“蓝色”,
“cl_选项3”:“黄色”,
“cl_选项4”:“黑色”
};
$('#colors')。更改(函数(){
$(“#sallet”).css('color',colorsMap[$(this.val());
});

原始脚本太笨拙了&将非jQuery和jQuery函数混为一谈。

您已经接近了。将jQuery包含在
中:


然后在JS中:

<script type="text/javascript">
var colorsMap = {
  'cl_option1' : "red",
  'cl_option2' : "blue",
  'cl_option3' : "yellow",
  'cl_option4' : "black"
};


  $('#colors').change(function(){
     $("#salute").css('color', colorsMap[$(this).val()]);
  });
  </script>

var colorsMap={
“cl_选项1”:“红色”,
“cl_选项2”:“蓝色”,
“cl_选项3”:“黄色”,
“cl_选项4”:“黑色”
};
$('#colors')。更改(函数(){
$(“#sallet”).css('color',colorsMap[$(this.val());
});

原始脚本太笨拙了&将非jQuery和jQuery函数混为一谈。

您已经接近了。将jQuery包含在
中:


然后在JS中:

<script type="text/javascript">
var colorsMap = {
  'cl_option1' : "red",
  'cl_option2' : "blue",
  'cl_option3' : "yellow",
  'cl_option4' : "black"
};


  $('#colors').change(function(){
     $("#salute").css('color', colorsMap[$(this).val()]);
  });
  </script>

var colorsMap={
“cl_选项1”:“红色”,
“cl_选项2”:“蓝色”,
“cl_选项3”:“黄色”,
“cl_选项4”:“黑色”
};
$('#colors')。更改(函数(){
$(“#sallet”).css('color',colorsMap[$(this.val());
});

原始脚本太笨拙了&将非jQuery和jQuery函数混为一谈。

您已经接近了。将jQuery包含在
中:


然后在JS中:

<script type="text/javascript">
var colorsMap = {
  'cl_option1' : "red",
  'cl_option2' : "blue",
  'cl_option3' : "yellow",
  'cl_option4' : "black"
};


  $('#colors').change(function(){
     $("#salute").css('color', colorsMap[$(this).val()]);
  });
  </script>

var colorsMap={
“cl_选项1”:“红色”,
“cl_选项2”:“蓝色”,
“cl_选项3”:“黄色”,
“cl_选项4”:“黑色”
};
$('#colors')。更改(函数(){
$(“#sallet”).css('color',colorsMap[$(this.val());
});

原始脚本太笨拙了&混淆了非jQuery和jQuery功能。

我看到的最大问题,除了页面中没有包含jQuery之外,是js正在立即执行。您的两次尝试都使用js与那些html节点所在的DOM进行通信,但是,当您的脚本运行时,dommy还没有准备好与这些节点进行通信


如果你想走那条路,就用一条线。如果你想学习我极力推荐的原生js,你会想在窗口准备好的时候听听。

我看到的最大问题是,除了页面中没有包含jQuery之外,你的js正在被立即执行。您的两次尝试都使用js与那些html节点所在的DOM进行通信,但是,当您的脚本运行时,dommy还没有准备好与这些节点进行通信


如果你想走那条路,就用一条线。如果你想学习我极力推荐的原生js,你会想在窗口准备好的时候听听。

我看到的最大问题是,除了页面中没有包含jQuery之外,你的js正在被立即执行。您的两次尝试都使用js与那些html节点所在的DOM进行通信,但是,当您的脚本运行时,dommy还没有准备好与这些节点进行通信


如果你想走那条路,就用一条线。如果你想学习我极力推荐的原生js,你会想在窗口准备好的时候听听。

我看到的最大问题是,除了页面中没有包含jQuery之外,你的js正在被立即执行。您的两次尝试都使用js与那些html节点所在的DOM进行通信,但是,当您的脚本运行时,dommy还没有准备好与这些节点进行通信


如果你想走那条路,就用一条线。如果您想学习我极力推荐的原生js,您需要在窗口准备就绪时收听。

回答您的问题:

第一个代码块(非jQuery)为select元素使用selectedIndex,它返回所选项目的数值(索引值)。您希望字符串值与颜色映射进行检查。更新代码,使其看起来像:

var colors = document.getElementById('colors');
colors.onchange=function(){
  var salute = document.getElementById("salute");
  var item = document.getElementById("colors").value;
  var color = colorsMap[item];
  salute.style.color = color;
}
会有用的

更新小提琴:


第二个问题,您只需要jQuery:)

来回答您的问题:

第一个代码块(非jQuery)为select元素使用selectedIndex,它返回所选项目的数值(索引值)。您希望字符串值与颜色映射进行检查。更新代码,使其看起来像:

var colors = document.getElementById('colors');
colors.onchange=function(){
  var salute = document.getElementById("salute");
  var item = document.getElementById("colors").value;
  var color = colorsMap[item];
  salute.style.color = color;
}
会有用的

更新小提琴:


第二个问题,您只需要jQuery:)

来回答您的问题:

第一个代码块(非jQuery)为select元素使用selectedIndex,它返回所选项目的数值(索引值)。你要的是stri