选择下拉菜单中的选项时运行脚本

时间:2015-11-03 11:55:11

标签: javascript php jquery html

正如标题所说,我拥有的脚本是一个计算器,并且工作正常,但我希望它只在一个特定选项上使用它,可以从下拉菜单中选择。我有一个名为EditEntry.php的页面,您可以在其中编辑数据库中的内容。从下拉菜单中选择一个选项时,我希望脚本运行,否则一直都在运行。 这是计算器脚本。

<script type="text/javascript">
function MM_findObj(n, d) { //v4.01
var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function KW_getVal(o){ //v1.2
var retVal="0";if (o.type=="select-one")
{retVal=(o.selectedIndex==-1)?0:o.options[o.selectedIndex].value;}
else if (o.length>1){for (var i=0;i<o.length;i++) if (o[i].checked) retVal=o[i].value;
} else if (o.type=="checkbox") {retVal=(o.checked)?o.value:0;} else {
retVal=Number(o.value)}return parseFloat(retVal);
}

function KW_calcForm() { //v1.2
var str="",a=KW_calcForm.arguments; for (var i=3;i<a.length;i++)
str+=(a[i].indexOf("#")==-1)?a[i]:KW_getVal(MM_findObj(a[i].substring(1)));
t=Math.round(a[1]*eval(str))/a[1];tS=t.toString();if(a[2]>0){tSp=tS.indexOf(".");
if(tSp==-1) tS+=".";tSp=tS.indexOf(".");while(tSp!=(tS.length-1-a[2])){tS+="0";
tSp=tS.indexOf(".");}} MM_findObj(a[0]).value=tS;
}
function KW_calcForm() { //v1.2
var str="",a=KW_calcForm.arguments; for (var i=3;i<a.length;i++)
str+=(a[i].indexOf("#")==-1)?a[i]:KW_getVal(MM_findObj(a[i].substring(1)));
t=Math.round(a[1]*eval(str))/a[1];tS=t.toString();if(a[2]>0){tSp=tS.indexOf(".");
if(tSp==-1) tS+=".";tSp=tS.indexOf(".");while(tSp!=(tS.length-1-a[2])){tS+="0";
tSp=tS.indexOf(".");}} MM_findObj(a[0]).value=tS;
}
</script>

这是下拉菜单。

<td><select name="Operator">
    <option value="" <?php if (!(strcmp("", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>></option>
    <option value="Dani" <?php if (!(strcmp("Dani", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>>Dani</option>
    <option value="Costi" <?php if (!(strcmp("Costi", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>>Costi</option>
    <option value="Ioni" <?php if (!(strcmp("Ioni", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>>Ioni</option>
    <option value="Cristina" <?php if (!(strcmp("Cristina", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>>Cristina</option>
    <option value="Alex" <?php if (!(strcmp("Alex", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>>Alex</option>
    <option value="Roland" <?php if (!(strcmp("Roland", htmlentities($row_Recordset1['Operator'], ENT_COMPAT, 'utf-8')))) {echo "selected=\"selected\"";} ?>>Roland</option>
  </select></td>

这就是计算器的用武之地。

<td><input name="PretNoi" type="text" onclick="KW_calcForm('PretNoi',100,-1,'0.7','*','(','#PretFirma','-','#PretPiesa',')')" value="<?php echo htmlentities($row_Recordset1['PretNoi'], ENT_COMPAT, 'utf-8'); ?>" size="32"/></td>

我尝试了很多东西,但没有工作,我尝试在脚本开头添加jQuery选项,didint工作。我尝试添加一个&#34; php if&#34;在但没有成功。我想添加一个&#34; if&#34;在某个地方,计算器会启动,只有在&#34; Roland&#34;被选中。我需要一些帮助,同样,计算器只能在&#34; Roland&#34;选项被选中?提前谢谢

1 个答案:

答案 0 :(得分:0)

Try the jQuery .change() method

  

描述:将事件处理程序绑定到“更改”JavaScript事件,或在元素上触发该事件。

$("select[name='Operator']").change(function(){
    var value = $(this).val();
    if(value == "Roland"){
        // Do your function here
    } else return false;
});