我有一大堆的组成如下的实际问题,有些是或否单选按钮和一个评论框的问题进行了调查。我已经包含一张照片给你一个视觉。这是问题填充后的html结构。选择一个动态填充的单选按钮
<div class=”yesno-question-row”>
<span class=”yesno-question”>
Some Question………..
</span>
<span class=”yesno-answer”>
<span class=”yesno-radio required”>
<input type=”radio” class=”yesno-radio-button” value=”Yes” />
<input type=”radio” class=”yesno-radio-button” value=”No” />
</span>
<span class=”yesno-comment”>
<textarea class="yesno-textarea ui-widget-content"></textarea>
</span>
</span>
</div>
此信息通过Web服务和jQuery动态填充。看到这些问题正在动态填充每个问题包含相同的类名称,跨度名称等...有超过40个问题,它们被附加到div。
我所试图做的是选择一个特定的问题,有一个特定的单选按钮选中。然后,如果单击某个单选按钮,则会自动检查其他单选按钮。我相信Jquery是我最好的选择,这导致我尝试按类来选择元素 - 它们都具有相同的类,因此无法工作,我试图通过隐藏数据属性来选择元素 - 这不起作用看到该属性根据调查发送给谁而变化。我试着做更多的研究,我认为接下来最好的事情是使用jquery eq()属性,因为我可以根据它的位置选择一个元素。但是,我遇到问题实施此解决方案。如果您有更好的选择或如何最佳进行的视觉示例,我将不胜感激。
下面是代码,它创建的问题;
var $yesNoQuestionRow = $("<div class='yesno-question-row' data-answerid='" + answerId + "'/>");
var question = "<span class='yesno-question'>" + questionText + "</span>";
var radioId = "yesno" + answerId;
var radioChecked = new Object();
radioChecked[answerText] = "checked";
var yesno = "<span class='yesno-radio required'><input class='yesno-radio-button' type='radio' name='" + radioId + "' value='Yes' " + radioChecked["Yes"] + ">Yes <input class='yesno-radio-button' type='radio' name='" + radioId + "' value='No' " + radioChecked["No"] + ">No</span>";
var textarea = "<span class='yesno-comment'> <textarea class='yesno-textarea ui-widget-content'>" + commentText + "</textarea></span>";
return $yesNoQuestionRow.append($(question)).append($("<span class='yesno-answer'/>").append($(yesno)).append($(textarea)));
你能改变产生这个html的代码吗? – Jason
你可以这样做,但你必须创建它们的代码已经允许你给它们唯一的标识符。我为你写了一个答案。 – Jason