Here is my code:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" ></script>
<script type="text/javascript" >
$(document).ready(function() {
var qtypes = ['Text','Area'];
for(qt in qtypes){
console.log('#submitQuestion' + qtypes[qt] + ' ' + qt);
var name = '#submitQuestion' + qtypes[qt];
$(name).click(function(){
console.log('clicked ' + name);
});
$('#submitQuestion' + qtypes[0]).click();
}
$('#submitQuestion' + qtypes[0]).click();
$('#submitQuestion' + qtypes[1]).click();
});
</script>
<input type="button" id="submitQuestionText" value="submit Question" />
<input type="button" id="submitQuestionArea" value="submit Area" />
Results in the console output:
#submitQuestionText 0
clicked #submitQuestionText
#submitQuestionArea 1
clicked #submitQuestionArea
clicked #submitQuestionArea
clicked #submitQuestionArea
Why is using a for loop overriding all click() functions? I would expect to see the last two lines of the output to be:
clicked #submitQuestionText
clicked #submitQuestionArea