如果select选项中没有匹配值,则选择清空值

时间:2018-03-08 17:24:08

标签: jquery

我有选择选项:

<select>
    <option value="">Menu</option>
    <option value="11">Item 1</option>
    <option value="22">Item 2</option>
</select>

我让Jquery更改所选值:

var xval = '33';
$('select').val(xval);

如果i与select选项有不同的值,如何选择菜单(空值)?

2 个答案:

答案 0 :(得分:2)

首先检查值是否存在:

&#13;
&#13;
CppClass::CppClass(std::string foo, int something)
{
    std::cout << foo << std::endl; //Returns garbage
}
&#13;
var xval = '33';
if ($(`select option[value='${xval}']`).length) {
  $('select').val(xval);
} else {
  $('select').val('');
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

只需使用您要为length设置的option value元素检查select。如果存在具有该值的option,则它必须具有大于0的长度(大多数为1,因为在大多数情况下,选项元素的值是唯一的)。然后,您可以选择具有该值的option元素,否则请选择默认的option

var xval = '33';
var elem = $('select option[value="'+xval+'"]');
elem.length == 0 ? $('select').val('') : $('select').val(xval);
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
    <option value="">Menu</option>
    <option value="11">Item 1</option>
    <option value="22">Item 2</option>
</select>