0

我有一个带有单选按钮和一个文本字段的表单。如果所选收音机的值为 96 或 97,我如何使文本字段成为强制性的。到目前为止,我的代码如下

<p style="margin: 0px 4px 1px 4px;padding: 4px 0 4px 0; background:#FFF"><input type="radio" name="qID18" value="96" class="required" />  All Festivals / Events  </p>

<p style="margin: 0px 4px 1px 4px;padding: 4px 0 4px 0; background:#FFF"><input type="radio" name="qID18" value="97" class="required" />  Similar Festivals / Events  </p>

<p style="margin: 0px 4px 1px 4px;padding: 4px 0 4px 0; background:#FFF"><input type="radio" name="qID18" value="98" class="required" />  No thank you  </p>

<p style="margin: 0px 4px 1px 4px;padding: 4px 0 4px 0; background:#FFF">&nbsp; Enter Email To Send Information To: <input type="text" name="something" ></p>
4

4 回答 4

1

尝试这个:

$('input[name="qID18"]').change(function(){
   if (this.value == 96 || this.value == 97) {
      $('input[name="something"]').addClass('required')
   } else {
      $('input[name="something"]').removeClass('required')
   }
})
于 2012-07-17T19:47:15.720 回答
0

是否有包含这些输入元素的表单元素?如果是这样,只需添加一个提交处理程序来检查值并根据需要应用或删除所需的属性。我在您的标记周围添加了一个表单容器并添加了一个提交按钮,并将我的解决方案发布在 jsFiddle 上:http: //jsfiddle.net/quant/2pJkc/

于 2012-07-17T19:46:47.190 回答
0

像这样的东西应该工作:

$("form").on("submit", function() {
    var radio = $(":radio:checked").val();
    if (radio == 96 || radio == 97) {
        if ($.trim($(":text").val()) == "") {
            alert("Failed!");
            return false;
        }
    }
    return true;
});
于 2012-07-17T19:46:15.613 回答
0
var radiobuttonchecked = $(":radio:checked").val();
if (radiobuttonchecked !=98 ) {
    if ($.trim($(":text").val()) == '') {
        alert('text is mandatory.');
        return false;
    }
}
于 2012-07-17T20:03:16.543 回答