struts2 遍历list并ajax提交radio 如何用jquery取得当前点击提交的对象的id和radio值
我只能实现点击提交用提交第一个点击对象的id和radio值
这有完成的jsp页面代码:
<div class="content_list"> <ol> <s:iterator value="map" id="map" status="map"> <li class="zhechang"> <a href="#" onclick="showCon(this);"><s:property value="key.question"/></a> <div class="faq_list"> <div class="faq_content"> <h3 class="h3_title"><s:property value="key.question"/></h3> <div class="contents"> <s:property value="key.answer"/></div> </div> <div id="show_question"> <s:form > <input type="hidden" id="faqId" value="<s:property value="key.id"/>" name="<s:property value="key.id"/>"/> <span onclick="choise_check('q1')"> <p>以上信息是否已解决您的问题?</p> <p class="faq_selcet"> <input type="radio" checked="true" name="q1" value="Y" id="q1"/> 是 <input type="radio" name="q1" value="N"/> 否 <select gtbfieldid="4" name="q1b" id="q1b" style="display: none;" class="input_text"> <option value="9999">请选择原因...</option> <option value="5">解决方法无效</option> <option value="6">内容不清晰</option> <option value="7">不是我想了解的问题</option> <option value="8">内容不正确</option> <option value="9">其他</option> <option value="10">ok</option> </select> </p> <p class="input"> <input type="hidden" id="input" value="<s:property value="#map.index"/>" name="input"/> <input type="button" value="提 交" class="btn_blue_x" onclick="do_submit(this)"/> </p> <span onclick="choise_check('q1')"/> </span> </s:form> </div> <div style="display: none;" id="show_done" class="faq_content_add"> <h5 class="font_weight">提交成功!</h5></br> <p>非常感谢您的评价。我们会根据您的评价进行完善。</p></br> <p>以上信息不能解决您的问题请<a href="${imgPath}/web/questionWebAction!index"><span class="highlight">点击这里</span></a>留言提问。</p> </div> <div class="faq_content_add"> <h3>相关问题</h3> <div class="faq_other"> <s:iterator value="value" status="st" id="relatefaq"> <p><a href="#"><s:property value="#st.index+1"/>.<s:property value="question"/></a></p> </s:iterator> </div> </div> </div> </li> </s:iterator> </ol> <div style="float:right"> <s:include value="faqlistpageChanger.jsp"></s:include> </div> <div class="clear"></div> </div>jquery代码如下:
function choise_check(qid) { var a =getRadioNumber(qid); alert(a); if (getRadioValue(qid) == 'N') { document.getElementById("q1b")[a].style.display = ''; } else { document.getElementById("q1b")[a].style.display = 'none'; } return true; } function getRadioValue(qname) { var rs = document.getElementsByName(qname); for (var i = 0; i < rs.length; i++) { if (rs[i].checked) { return rs[i].value; } } } function setRadioValue(qname, cvalue) { var rs = document.getElementsByName(qname); if (cvalue > rs.length) { return; } else { rs[cvalue - 1].checked = true; } } function IsSeleRadio(bname) { var bn = document.getElementsByName(bname); var k = 0; var i; for (i = 0; i < bn.length; i++) { if (!bn[i].checked) { k++; } } if (k == bn.length) { return false; } else { return true; } } function checkInput() { if (!IsSeleRadio("q1")) { return false; } return true; } function do_submit(obj) { if (false == checkInput()) { return false; } var c1 = getRadioValue("q1"); var c2 ='9999'; if (c1 == 'N') { c2 = document.getElementById("q1b").value; } c2 = c1 == 'Y' ? '10' : c2; faqid = document.getElementById("faqId").value; if (c2 == '9999') { alert("请您先选择原因再提交,谢谢!"); return true; } $.ajax({ type: "GET", url: "/helpcenter/web/faqWebAction!addcomment", data: "comment.fromSite=web&comment.commentTypeId=" + c2 + "&comment.faqId=" + faqid, success: function(msg) { document.getElementById("show_done").style.display = 'block'; document.getElementById("show_question").style.display = 'none'; } }); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我还需要拿到 radio前面隐藏的那个 input中的id、
$("input[name='q1']:checked").val();