这是Javascript函数。请解释如何在Javascript中比较两个字符串。
<head>
<script type="text/javascript">
/*javascript function*/
function ajax(str)
{
if (str.length==0)
{
document.getElementById("res").innerHTML="";
return;
}
if(str=="Select City")
{
alert("Please Select a City");
}
document.getElementById("res").innerHTML=="";
var url="code1.php?q="+str+"&r"+Math.random();
var obj;
try{
obj=new ActiveXObject(Microsoft.XMLHTTP);
}
catch(e)
{
try
{
obj=new XMLHttpRequest();
}
catch(e)
{
alert("Your browser not suport ajax");
}
}
obj.open('Get',url,true);
obj.send(null);
obj.onreadystatechange=function()
{
if(obj.readyState==4)
{
document.getElementById("res").innerHTML=obj.responseText;
}
}
}
</script>
</head>
<body>
<select onchange="ajax(this.value)" name="sel" id="btn"><option>Dharmashala</option><option>Manali</option><option>Shimla</option></select>
<div id="res"></div>
</body>
</html>
但它没有用,请建议我采取适当的方法来做到这一点。
答案 0 :(得分:5)
===
用于字符串比较
if(str === "Select City") {
alert("Please Select a City");`
}
答案 1 :(得分:1)
如何在JavaScript中比较字符串?使用==
运算符表示等效,使用>
/ <
表示字母差异。
在你的代码中,这一行似乎有点无用:
document.getElementById("res").innerHTML=="";
你不想在这里做作业(=
)吗?
答案 2 :(得分:0)
我很确定它不起作用,因为你的this
上下文不正确。 this.value
正在尝试调用value
元素的select
而不是所选的option
。试试这个:
window.addEventListener('load', function(){
var select = document.getElementById('btn');
var selected = select.options[select.selectedIndex].value;
}, false);
window.addEventListener('change', function(selected) { changeHandler(selected); }, false);
function changeHandler(selected) {
// run your ajax() function
}
另外,请务必在每个value
元素上添加option
。