Javascript 单选单击时更改按钮的类别/功能

Javascript 单选单击时更改按钮的类别/功能,javascript,jquery,radio-button,laravel,laravel-4,Javascript,Jquery,Radio Button,Laravel,Laravel 4,我有一个电台选择在我的网站,允许用户选择其中的一些选项 当页面加载时,我希望有一个按钮可以引导用户进入下一步,使其“褪色”且不起作用。当用户选择其中一个单选选项时,我希望按钮变为活动(新链接)和不透明(不褪色) 以下是迄今为止我掌握的相关代码: CSS: HTML/PHP: <center> <div id="fan_likes"> <a href="" class="button faded">Continue</a> <ul class=

我有一个电台选择在我的网站,允许用户选择其中的一些选项

当页面加载时,我希望有一个按钮可以引导用户进入下一步,使其“褪色”且不起作用。当用户选择其中一个单选选项时,我希望按钮变为活动(新链接)和不透明(不褪色)

以下是迄今为止我掌握的相关代码:

CSS:

HTML/PHP:

<center>
<div id="fan_likes">
<a href="" class="button faded">Continue</a>
<ul class="facebook-likes">
@foreach($likes_ids as $likes_id) 

<li>
{{$likes_names[$offset]}}
<br>
<input type="radio" name="like" id="{{$likes_id}}" class="input-hidden" value="{{$likes_id}}"  />
<label for="{{$likes_id}}"><img src="/assets/images/loader.gif" data-src="https://graph.facebook.com/{{$likes_id}}/picture?width=200&height=200" width="150" height="150" alt="{{$likes_names[$offset]}}"/></label> 
</li>

<?php $offset++; ?>
@endforeach
</ul>
</div>
</center>

    @foreach($likes\u id作为$likes\u id)
  • {{$likes_names[$offset]}
  • @endforeach
Javascript:

<script type="text/javascript">
$(".input-hidden").find('input:radio').click(function () {
    $("#fan_likes").find('a').removeClass('faded');
});
</script>

$(“.input hidden”)。查找('input:radio')。单击(函数(){
$(“#fan_likes”).find('a').removeClass('laded');
});

我不知道如何编写javascript来实现我想要的。有什么想法吗?我使用的是Laravel4框架

您可以这样做:

$('.facebook-likes li').on('click', function() {
    $(this).addClass('faded');
});
$('.facebook-likes li input').on('click', function() {
    $(this).parent().addClass('faded');
});
因此,每次单击FacebookLikes类下的列表项时,它都会向该列表项添加一个类

或者从输入角度(必须点击实际输入),您可以通过以下方式实现:

$('.facebook-likes li').on('click', function() {
    $(this).addClass('faded');
});
$('.facebook-likes li input').on('click', function() {
    $(this).parent().addClass('faded');
});
小提琴:

编辑

抱歉,我误解了您的问题,请尝试以下方法:

$('.facebook-likes li input').on('click', function() {
    $('#fan_likes a.faded').removeClass('faded');
});
小提琴:

编辑2

你说的是标签,但标签中有图像——点击图像会更有意义吗?但是,如果您将标签放在那里而不是img,它的工作原理是一样的(请参阅:)

试试这个:

$('.facebook-likes li img').on('click', function () {
    $('#fan_likes a.faded').removeClass('faded');
});
小提琴:


希望这能有所帮助。

这看起来应该有效,但不幸的是没有。有什么想法吗?试试这个可能有用$('.facebook likes)。查找('label')。打开('click',函数(e){$('fan_likes”)。查找('a')。删除类('fladed');});不幸的是,这不是我想要的。我想让按钮(上面写着“继续”)在点击电台标签时改变不透明度。抱歉,我误解了-我会再试一次:)嗯,这看起来应该可以,但是不行。知道会发生什么吗?不知道,抱歉。如果看不到机器上运行的是什么,就很难判断。JSFIDLE对您有用吗?也许这是浏览器的问题?JSFIDLE确实有效。我想它的工作时,收音机“标签”是点击,而不是收音机。我从风格上删除了实际的单选按钮。
$('.facebook-likes label').on('click', function(e) {
    $("#fan_likes").find('a').removeClass('faded');
});