在onchange for id之后,onclick函数将无法工作

时间:2015-10-21 15:06:13

标签: javascript jquery

当我在开头给我输入一个id时,我的按钮与onclick功能一起正常工作。但是,如果我使用onchange函数为我的按钮分配一个id,那么当id正确时,我的按钮不会对onclickfunction作出反应。任何人都可以帮助我。

这有效:

 <input type="button" class="ok" value="Execute" id="mercedes"/>
 <script>
 $('#mercedes').on('click', function(e){
 ......
 </script>

这不起作用:

 <select id="abc" onchange="func()">
   <option  value="volvo" id="1">Volvo</option>
   <option value="saab" id="2">Saab</option>
   <option value="mercedes" id="3">Mercedes</option>
   <option value="audi" id="4">Audi</option>
 </select>
 <input type="button" class="ok" value="Execute"/>
 <script>
     function func() {
         var b = document.getElementById("abc");
         var a= b.options[b.selectedIndex].value;
         $('input.ok').attr('id', a);
      }
 </script>
 <script>
 $('#mercedes').on('click', function(e){
 ......
 </script>

当我从选项中选择梅赛德斯时,我的输入将获得id mercedes,但是onclick功能仍然不起作用。

1 个答案:

答案 0 :(得分:0)

void MyFunction()
{
    printf( "This function is called by %s in file %s on line $i.\n", func, file, line ); // Where func, file and lines should be replaced
}

int main()
{
    MyFunction();
    return 0;
}

页面加载时会发生这种情况。该元素还没有id。在更改内部,您需要在设置ID后附加事件。

$('#mercedes').on('click', function(e){

小提琴:http://jsfiddle.net/bt3dsrbx/