The following line This does NOT work in my code in firefox/firebug (but works fine in JSFIDDLE), you will see below I have a work around, just wondering if anyone knows the internal reason why?
var checkedVal = parseInt($('input[@name=' + uniqueNamePart + 'currDim]:checked').val(), 10);
http://jsfiddle.net/darrenshrwd/eqh2y/43/
<input type="radio" value="1" name="blahcurrDim">One
<input type="radio" checked="" value="2" name="blahcurrDim">Two
<input type="radio" value="3" name="blahcurrDim">Three
<input type="radio" value="4" name="blahcurrDim">Four
…
$('document').ready(
function() {
var uniqueNamePart = "blah";
var dimensionClick = function() {
// This does NOT work in my code in firefox/firebug (but works fine in JSFIDDLE):
var checkedVal = parseInt($('input[@name=' + uniqueNamePart + 'currDim]:checked').val(), 10);
// This does work in both:
//var myRadio = $('input[name=' + uniqueNamePart + 'currDim]'),
// checkedVal = parseInt(myRadio.filter(':checked').val(), 10);
alert(checkedVal);
};
$('input[name=' + uniqueNamePart + 'currDim]:radio').click(dimensionClick);
});
Your attribute selector is malformed. An
@character is not necessary:That code appears to work in your fiddle, but that’s because the only
<input>elements there are the radio buttons, so matching succeeds even if the invalid attribute selector is ignored.