在下面的脚本中,我添加了or
运算符来检查条件,如果它是“ALL TCP”或“ALL UDP”项必须被禁用,请建议我修改代码。
<script type="text/javascript">
function chgJob(pThis, pRow)
{
if ((pThis.value != 'All TCP') || (pThis.value != 'All UDP'))
{
$x_disableItem('f02_' + pRow, false);
}
else
{
$x_disableItem('f02_' + pRow, true);
}
}
</script>
答案 0 :(得分:4)
字符串永远不能等于'All TCP'
并且同时等于'All UDP'
,因此条件将始终为真。
您想使用&&
运算符代替||
运算符:
if ((pThis.value != 'All TCP') && (pThis.value != 'All UDP'))
正如Cerbrus指出的那样,你根本不需要if
语句,你可以通过反转它直接使用布尔表达式(x==y || x==z
与!(x!=y && x!=z)
相同):
<script type="text/javascript">
function chgJob(pThis, pRow) {
$x_disableItem('f02_' + pRow, pThis.value == 'All TCP' || pThis.value == 'All UDP');
}
</script>
答案 1 :(得分:0)
试试这个:
if ((pThis.value != 'All TCP') && (pThis.value != 'All UDP'))
或:
function chgJob(pThis, pRow)
{
if ((pThis.value == 'All TCP') || (pThis.value == 'All UDP'))
{
$x_disableItem('f02_' + pRow, true);
}
else
{
$x_disableItem('f02_' + pRow, false);
}
}
答案 2 :(得分:0)
就像已经说过的那样,在if-else
中,您需要&&
运算符,而不是||
,但是:
您也可以完全删除if
,改为:
function chgJob(pThis, pRow) {
$x_disableItem('f02_' + pRow, (pThis.value == 'All TCP' || pThis.value == 'All UDP'));
}
如果pThis.value
为"ALL TCP"
或"ALL UDP"
,则该项目将被停用。