我一直试图从下拉菜单中调用函数,但由于某种原因,似乎只调用了shift(CPL)。我已经验证了这些功能本身是有效的,并且已经编辑了这些功能以便于阅读。我对Javascript很新,可能已经犯了一个相当基本的错误,为此道歉并提前感谢!
HTML:
<select onchange="shift(this.value);">
<option value="CPM">CPM</option>
<option value="CPC">CPC</option>
<option value="CPL">CPL/A</option>
</select>
使用Javascript:
function shift(CPM) {
}
function shift(CPC) {
}
function shift(CPL) {
}
</script>
答案 0 :(得分:1)
我认为你并不真正理解函数在编程语言中是如何工作的,我建议你在尝试创建新东西之前先学习一点并遵循指南。
基本上,你不必创建3个不同的移位功能:一个就足够了:只有参数会改变。试试这段代码:
function shift (genericParameter) {
if (genericParameter == 'CPM') {
//CPM
} else if (genericParameter == 'CPC') {
//CPC
} else if (genericParameter == 'CPL') {
//CPL
}
}
答案 1 :(得分:1)
如何在jquery
中执行此操作:
js code:
$(document).ready(function(){
$('select').on('change', function() {
shift(this.value);
});
});
function shift(yourValue) {
alert(yourValue) //Implement what you need here.
}
//or maybe you prefer this:
function shift(yourValue) {
switch(yourValue) {
case 'CPM':
//code block
break;
case 'CPC':
//code block
break;
case 'CPL':
//code block
break;
default:
default code block
}
}
希望它有所帮助。
答案 2 :(得分:1)
尝试创建一个具有select
值属性的对象,在选择时执行与对象属性名对应的东西
var selected = {
"CPM":"option 1",
"CPC": function(v) {
return v.toLowerCase()
},
"CPL": "option 3"
}
function shift(val) {
var res = typeof selected[val] === "function"
? selected[val](val)
: selected[val];
alert(res)
}
&#13;
CPM
<select onchange="shift(this.value);">
<option value="CPM">CPM</option>
<option value="CPC">CPC</option>
<option value="CPL">CPL/A</option>
</select>
&#13;
答案 3 :(得分:1)
我认为你缺少的语法, 这可以帮助你......
enter code here
<select id="selectDrop" onchange="copy();">
<option value="">Default:</option>
<option value="one" >one</option>
<option value="two" >two</option>
<option value="three" >three</option>
</select>
JavaScript: -
function copy(){
alert(document.getElementById("selectDrop").value);
}