JQuery检查选择的字段是否具有特定值并添加必需的属性

时间:2016-01-27 18:21:39

标签: jquery validation select attributes

好的,如果下拉/选择的值包含'请指定',我想在“请注明”文本框中添加所需的属性。

我可以使用下面的代码使此字段验证单个值,但似乎无法检查所有选项。需要检查所选的任何选项是否都有“请指定”,如果是,则应用所需的属性。我已经尝试了一百万种不同的方法,并尝试使用数组,但无法想象它。当然这很容易,但任何帮助都会很棒。非常感谢提前!

HTML: 我的选择字段

<select name="billing_customer_info" id="billing_customer_info" class="select " data-placeholder="Please select an option" allow_null="0" nulllabel="Please select an option" presentation="select" display="" hasselected="false">
  <option value="Internet search Please specify">Internet search Please specify</option>
  <option value="Friend told me">Friend told me</option><option value="Advertisement Please specify">Advertisement Please specify</option>
  <option value="Sticker">Sticker</option>
  <option value="Newspaper or magazine Please specify">Newspaper or magazine Please specify</option>
  <option value="Social media Please specify">Social media Please specify</option>
  <option value="Festival or show Please specify">Festival or show Please specify</option>
  <option value="In a shop">In a shop</option>
</select>

我的字段需要添加属性如果选择了请指定

<input type="text" class="input-text " name="billing_please_specify_here" id="billing_please_specify_here" placeholder="enter more information" display="text">

Jquery的:

$('select[name=billing_customer_info]').change(function () {
    if ($('select[name=billing_customer_info]').val() == 'Internet search Please specify'){
        $('input[name=billing_please_specify_here]').attr("required", true);
    } else {
        alert ('I dont need to be mandatory');
        $('input[name=billing_please_specify_here]').attr("required", false);
    }    
});

1 个答案:

答案 0 :(得分:2)

使用indexOf函数检查所选值是否包含please specify。要添加required属性,请使用attr("required", "required")并删除使用removeAttr("required")。你可以这样做。

$('select[name=billing_customer_info]').change(function () {
    if ($(this).val().toLowerCase().indexOf('please specify')>-1) {
        $('input[name=billing_please_specify_here]').attr("required", "required");
    } else {
        alert('I dont need to be mandatory');
        $('input[name=billing_please_specify_here]').removeAttr("required");
    }
});