新手Javascript查询

时间:2017-03-03 18:30:45

标签: javascript

我有一个非常简单的问题,我试过搜索论坛,但我找不到我认为我需要的东西。下面是一些按照我的预期工作的脚本:

$(function(){

var ProjType = $("#cfs_i3_cf3");


$(ProjType).change(function() {
$("#cfs_h3").css("background-color", "red");

alert('okay then!');
});

});

基本上,ID #cfs_i3_cf3代表一个下拉框,当它发生变化时,颜色会发生变化。

我想稍微提一下并说:

如果#cfs_i3_cf3 = Acolor = X否则为color = Y

非常简单,但在语法方面苦苦挣扎,希望这是一个非常简单的答案,因为我不熟悉javascript。

非常感谢提前! 詹姆斯

2 个答案:

答案 0 :(得分:0)

这样做的正确方法是: 您在选择框中侦听更改,然后在其更改时获取选择框的值,如果为1,则将段落的颜色设置为红色,否则为黄色。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="cfs_i3_cf3">
<option value="" selected disabled>Select</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<p id="cfs_h3">THIS IS THE OUTPUT</p>
&#13;
def print_all_vars(arg=dir()):
    for i in arg:
        print(i)

foo=1
&#13;
&#13;
&#13;

答案 1 :(得分:0)

只是添加额外的重构。抱歉!我只是认为jQuery正在做同样的事情,但为什么要加载额外的库?

function switchColor(select){
  var redOrNot = select.value == 'red' ? true: false;
  var el = document.getElementById('cfs_h3');

  if (redOrNot) {
    el.style.backgroundColor = select.value;
  } else {
    el.style.backgroundColor = select.value;
  }
}

/* if you don't need logic, you can simply do 
el.style.backgroundColor = select.value; since the color logic 
is already embedded in the HTML.
*/
<select id="cfs_i3_cf3" onchange="switchColor(this)">
<option value="" selected disabled>Select</option>
<option value="red">One</option>
<option value="yellow">Two</option>
</select>
<p id="cfs_h3">THIS IS THE OUTPUT</p>