2010-04-12 1 views
1

У меня есть два блока кода, которые в основном проверяют: 1) событие щелчка на переключателе, например.jQuery; Комбинируйте клик пользователя и: checked

$("input[id='frmSkill']").click(function(){ 
     //do something 
}); 

И 2) блок кода, чтобы проверить, если радио-кнопка: проверено, если да, то выполнить некоторые действия, например,

if($("input[id='frmSkill']:checked").val()){ 
     //do something 
}); 

То, что я хотел бы сделать, это объединить два для того, чтобы уменьшить код, как действия, выполняемые в рамках каждого из них одинаковы.

ответ

0

Я думаю, что «изменение» событие более приспособленный к флажку:

$("input[id='frmSkill']").bind('change',function(){ 
     if($(this).is(':checked')){ 
     // do something 
     } 
    }); 
+0

Флажок 'change' поддерживает iffy с IE. – karim79

+0

кажется, что вы правы: http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie спасибо – pixeline

3
$("input[id='frmSkill']").click(function(){ 
     if($(this).is(":checked")) { 
      // do something, e.g. 
      alert($(this).val()); 
     } else { 
      // do something else 
     } 
}); 

Я думаю, что вы ищете метод is обхода.

0

отдельная функция, которая может быть использована в обоих случаях:

function OnClickOrCheck(){ 
// code for both cases here 
} 

$("input[id='frmSkill']").click(OnClickOrCheck); 

if($("input[id='frmSkill']:checked").val()){ 
OnClickOrCheck(); 
} 
0

Почему вы все усложнять все?

$("input[id='frmSkill']").change(function(){ 
    // Your Code Here 
}); 
+0

Изменения не будут работать. Я использую: проверено, чтобы показать правильный контент после проверки php, если проверка не завершена, мне нужно знать, какой контент показывать. – 2010-04-12 10:58:44

+0

Вы используете функцию обратного вызова из ajax? , что вы хотите, нужно обрабатывать функцией обратного вызова ajax, а не функцией изменения или проверки. – CuSS