0

我有以下 Javascript:

功能选择(ID,EVT){
        var e = (typeof evt != 'undefined') ? evt:事件;
        e.cancelBubble =真;
        警报('错误');
        var $toggler = $("#building"+id);     
        
        if(!$toggler.is(':checked')){
            $toggler.attr('checked', true);
            $("#row"+id).removeClass("selectRow");
            $("#row"+id).addClass("selectRow");            
        }
    }

我有以下<HTML>

<td>
   <select onchange="select(2, event);" name="prefferedAgent396" class="input-small">
       <option value="0">Choose...</option>
       <option value="1" selected=""> Senthil </option>                                    
       <option value="3"> Sunmeet </option>                                    
       <option value="4"> Doesnot Speak English </option>                                    
       <option value="5"> Marcus Fava </option>                                    
   </select> 
</td>
<td>
   <input type="text" onchange="select(2, event);" class="input-mini" id="initial396" name="initial396" value="">
</td>

现在的问题是onchange事件触发了select(2, event)控件select而不是input控件。当我尝试一个alert我称之为工作的盒子时,select()它不仅仅是调用select(). 我已经尝试过onKeyUp,但它给出了一种奇怪的行为,即在我键入时替换文本。我在这里做错了什么?

4

1 回答 1

1

奇怪。如果您将函数从 重命名select为 ,例如select_,它将起作用。但由于您已经在使用 jQuery,您可以使用以下内容而不是使用内联change处理程序:

$("#prefferedAgent396,#initial396").change(function (e) {
   select(2, e);
});

这是一个演示

于 2012-08-29T00:09:10.440 回答