我正在使用这个 customInput 插件(带有 jQuery 1.6.2)来自定义我的单选按钮的外观。
它工作得很好。
我现在遇到的问题是我只是想获取index()
所选单选按钮的编号,它总是返回0
. 有六个单选按钮,我正在寻找 0 到 5 之间的数字。
JavaScript:
$('input[name="amount"]').click(function() {
var x = $(this).filter(':checked').index();
var y = $(this).filter(':checked').val(); //<-- for troubleshooting
alert(x + y); //<-- for troubleshooting
});
奇怪的是,val()
仍然可以正常工作并返回正确的值。因此,表单数据总是得到正确的单选值。
http://jsfiddle.net/sparky672/LdVGD/
HTML:
<fieldset id="radioset">
<input type="radio" id="radio-1" name="amount" value="Option 1" checked="checked" /><label for="radio-1" title="">Option 1</label>
<input type="radio" id="radio-2" name="amount" value="Option 2" /><label for="radio-2" title="">Option 2</label>
<input type="radio" id="radio-3" name="amount" value="Option 3" /><label for="radio-3" title="">Option 3</label>
<input type="radio" id="radio-4" name="amount" value="Option 4" /><label for="radio-4" title="">Option 4</label>
<input type="radio" id="radio-5" name="amount" value="Option 5" /><label for="radio-5" title="">Option 5</label>
<input type="radio" id="radio-6" name="amount" value="Option 6" /><label for="radio-6" title="">Option 6</label>
</fieldset>
如果根本不使用 customInput 插件,则返回索引号。
http://jsfiddle.net/sparky672/LdVGD/1/
附带问题:
禁用插件后,index()
返回0
, 2
, 4
, 6
, 8
, 或10
. 这就像它<label>
本身被计入 的一部分index()
,有效地加倍了计数。为什么会这样?
我无法删除这些<label>
元素,因为插件依赖于这些元素才能发挥作用。
我只想根据是否选中单选按钮 0 到 5 来检索 0 到 5 的数字。
有什么建议么?也许另一种检查选择了哪个单选按钮的方法?
我的终极目标?根据选择的按钮简单地更改一些变量。