使用单选按钮(jQuery)禁用/启用文本字段

感谢过去的帮助。 我再次问你。

我想要2个单选按钮,这将改变文本输入的状态(启用/禁用)。

我设法让它从禁用到启用,但问题是,当你在单选按钮之间切换时,文本字段仍然是启用的。 我不希望这样。

HTML是小提琴

$(document).ready( function(){ $('#casodhoda,#casodhoda1').prop('disabled',true); $('input[type=radio][name=radioknof1]').click( function(){ $('#casodhoda,#casodhoda1').prop('disabled',true).val(''); $(this).next('span').children('wpcf7-form-control-wrap casodhoda').prop('disabled',false).triggerHandler('focus'); }); }); 

编辑,修改了一点代码,并且无论如何都无法进入工作解决方案..我希望在加载时禁用输入字段,当用户点击无线电时,它应该启用两者并专注于第一个输入字段。 http://jsfiddle.net/wLFKD/3/就在这里。 谢谢!

根据您的网站html完全更改。 这应该工作:

 $(document).ready( function(){ $('#casodhoda,#casprihoda').prop('disabled',true); $('input[type=radio][name=radioknof]').click( function(){ $('#casodhoda,#casprihoda').prop('disabled',true).val(''); $(this).next('span').children('.wpcf7-form-control').prop('disabled',false).triggerHandler('focus'); }); }); 

有一个错字。 如果这不起作用,我能想到的唯一另一种方式是……不,我认为这会有效。

这个标记:

  

这个脚本:

 $('input[name="radioknof"]').on('click', function(){ $(this).next().prop('disabled',false).siblings('input[type=text]').prop('disabled',true); }); 

得到你想要的: http : //jsfiddle.net/uefAK/

为什么不,另一个不需要Javascript的解决方案?

 // HTML 
​ // CSS, but just for styling, it doesn't have functional meaning :) form {padding: 2%} div {margin: 1em 0} input[type='radio'] {cursor: pointer;}​

http://jsfiddle.net/nUWcF/