选择下拉选项时禁用隐藏的重复字段

时间:2014-03-31 13:16:05

标签: javascript jquery

我有以下表单代码,如果选择了现有类别,则显示现有类别的下拉菜单;如果选择了添加新类别,则显示文本字段。

这一切都很完美,但我正在尝试验证字段,我无法禁用未选择的重复字段,因此我无法提交表单。

我在验证时遇到空字段失败,并出现以下错误:名称='category'的无效表单控件无法调焦。

我想更改名称或禁用它或设置隐藏字段的值以使其有效。

<tr>
    <td class="right bold">New or Existing Category: </td>
    <td class="capitalise">
    <select name="categoryType" id="categoryType" required>
        <option value="" selected='selected'>--Please Select--</option>
        <option value="existing">Existing Category - Select from Category list below</option>
        <option value="addNew">Add new Category - Add new Category in Text box below</option>
    </select></td>
</tr>   

<tr id="existing">
    <td class="right bold">Category: </td>
    <td class="capitalise">
    <select id="categoryExist" name="category" required>
        <option value='' selected='selected'>--Please Select--</option></select>
    <option value='1'>1</option>
        <option value='2'>2</option>
    </select>
    </td>
</tr>

<tr id="addNew">
    <td class="right bold">Add Category: </td>
    <td class="capitalise">
        <input id="categoryNone" type="text" name="category" class="capitalise" required />
    </td>
</tr>

$(document).ready(function() {
    $("#categoryType").change(function() {
        if (this.value == 'existing') {
            $('#existing').show();
            $('#categoryNone').attr({name: "difcat", value: '000'});
        } else {
            $('#existing').hide();
        }
        if (this.value == 'addNew') {
            $('#addNew').show();
            $('#categoryExist').attr({name: "othercat", value: '000'});
        } else {
            $('#addNew').hide();
        }
    });
});

我也尝试过:

 $(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false); 

但它似乎不起作用。

jsfiddle http://jsfiddle.net/LUeT9/

确定已解决,我更改了以下内容,禁用了非活动验证:

$(document).ready(function() {
        $("#categoryType").change(function() {
        if (this.value == 'existing') {
            $('#existing').show();
            $('#categoryNone').prop("disabled", true);
        } else {
            $('#existing').hide();
        }
        if (this.value == 'addNew') {
            $('#addNew').show();
            $('#categoryExist').prop("disabled", true);
        } else {
            $('#addNew').hide();
        }
        });
});

0 个答案:

没有答案