我試圖找出如何驗證一個表單元素與無線輸入的混合和文本輸入:jQuery的驗證插件收音機可選文本
<label>Question?</label>
<input type="radio" class="mandatory" name="questions[1][]" value="1" />answer 1<br/>
<input type="radio" class="mandatory" name="questions[1][]" value="2" />answer 2<br/>
<input class="ignore" type="radio" id="questions[1][]" />Other (please specify)<br/>
<input class="optional mandatory" type="text" name="questions[1][]" value="" />
我已經找到了如何獲得形成於像預期的那樣(選擇和取消選擇),用下面的代碼:
$("input.optional").focus(function() {
var this_name = $(this).attr("name");
$("input:radio").filter(function() {return $(this).attr('name') == this_name; }).attr('checked', false);
$("input").filter(function() {return $(this).attr('id') == this_name; }).attr('checked', true);
});
$(':radio').click(function() {
var this_name = $(this).attr("name");
$("input").filter(function() {return $(this).attr('id') == this_name; }).attr('checked', false);
$("input.optional").filter(function() {return $(this).attr('name') == this_name; }).val('');
});
我希望我可以使用類「強制性」來驗證的廣播和文字輸入的組合:
$("form .manditory").each(function() {
$(this).rules("add", {required: true});
});
但它沒有按預期工作。使用收音機(id =「questions [1] []」)選擇,以及包含內容的文本輸入,表單元素仍然被標記爲無效。
建議......也許更好的方法?
在此先感謝。
UPDATE
對不起,我應該澄清,我使用的驗證插件:
$("form").validate({ ... });
這句話雖然從理論上回答這個問題,[但最好( http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供參考鏈接。 – GDP 2012-08-07 14:25:36