2011-08-10 143 views
-1

你好我从我的.js插件的HTML onclick方法中调用一个函数,在其他浏览器中都可以正常工作,但不仅仅在Safari中正常工作。请为我提供一些替代方案,以便在所有浏览器中都能正常工作。safari浏览器中的javascript问题

谢谢..

,我的代码是:

<table border="1" cellpadding="0" cellspacing="0"> 
      <tr> 
       <td><input type="radio" name="radio1" id="radio1" value="daily" onclick="xyz1()"/></td> 
       <td><font class="fnt-12">Daily</font></td> 
      </tr> 
      <tr> 
       <td><input type="radio" name="radio1" id="radio1" value="weekly" onclick="xyz1()" /></td> 
       <td><font class="fnt-12">Weekly</font></td> 
      </tr> 
      </table> 

,并在.js文件的插件的功能是:

function xyz1() 
{ 
    var currentSelection=$('#getCurrentSelection').html(); 
    var radio = $('input:radio[name=radio1]:checked').val(); 

    if(radio=="daily") 
    { 
     alert("daily....."); 
     $("div.weeklyContent1").hide(); 

     $('div.dailyContent').show(); 

      // $(".weeklyContent").html("dfgdf"); 
      // $(".weeklyContent").html($(".dailyContent").html()); 

    } 
    if(radio=="weekly") 
    { alert("weekly....."); 
     $('div.dailyContent').hide(); 
     $("div.weeklyContent1").show(); 

    } 
} 
+3

请发表您的代码 –

+0

你也可以创建一个提琴jsfiddle.net这里放链接,这将让我们看到你的代码。 –

+0

从有效的HTML开始。给单选按钮赋予唯一的ID,例如将第二个ID更改为'id =“radio2”'。 –

回答

1

变化onclick="xyz1()"onchange="xyz1()"

ids是单数,你不能在两个地方有id =“radio1”!

但是您正在使用jQuery,那么为什么您首先要内嵌JavaScript呢?添加处理

$(
    function(){ 
     $('input:radio[name=radio1]').change(xyz1); 
    } 
); 
+0

对不起朋友它不适用于Safari浏览器,但可以在其他浏览器中使用。谢谢.. – Raman

+0

@Raman对我来说很好用一个测试页面:http://jsbin.com/evaliz – epascarello