我知道这是一个重复的问题,但我不能让它运行。我尝试了所有在SO中找到的解决方案并使用谷歌搜索...
我的页面中有这个单选按钮表单。我想要的是,当用户选择“仅一个与会者”选项时,仅显示此选项的文本字段。如果用户选择另一个,则消失。
用户选择仅一个选项后,会出现文本框。
我一直在尝试使用javascript。我用这段代码
<script>
$(document).ready(function()
$("#send_to_one").hide();
$("input:radio[name="people"]").change(function(){
if(this.checked){
if(this.value =='one'){
$("#send_to_one").show()
}else{
$("#send_to_one").hide();
}
}
}
});
</script>
表单的代码是
<div id="send_to">
<input type="radio" id="send_poll" name="people" value="all" checked="checked">all the attendees</br>
<input type="radio" id="send_poll" name="people" value="one" >only one attendee<br/>
<div id="send_to_one">
<label>Write the attendee's name: </label><input type="text" id="attendeename"><br/><br/>
</div>
<input type="radio" id="send_poll" name="people" value="group">a group of attendees</br>
</div>
我检查过javascript文件已加载。我也尝试将javascript代码放在表单所在的html.erb文件中,在一个单独的.js文件和application.htm.erb的<head></head>
部分,但没有运气。 我需要在哪里准确地放置每部分代码才能正常工作?
使用Rails 3.0.4,Ruby 1.8.9。我也在使用JQuery
答案 0 :(得分:4)
的 LIVE DEMO 强>
HTML:
<div id="send_to">
<input type="radio" id="send_poll" name="people" value="all" checked="checked" />all the attendees<br/>
<input type="radio" id="send_poll" name="people" value="one" />only one attendee<br/>
<div id="send_to_one">
<label>Write the attendee's name: </label><input type="text" id="attendeename" /><br/><br/>
</div>
<input type="radio" id="send_poll" name="people" value="group" />a group of attendees<br/>
</div>
JQ:
$(document).ready(function(){
$("#send_to_one").hide();
$("input:radio[name='people']").change(function(){
if(this.value == 'one' && this.checked){
$("#send_to_one").show();
}else{
$("#send_to_one").hide();
}
});
});
答案 1 :(得分:1)
$(document).ready(function() {
$("#send_to_one").hide();
$("input:radio[name='people']").change(function(){
if(this.checked){
if(this.value =='one'){
$("#send_to_one").show()
}else{
$("#send_to_one").hide();
}
}
});
});
您的代码是正确的,但有一些缺少大括号,括号和未转义的引号。您使用的是任何形式的智能javascript编辑器吗?因为你真的应该......