检查下拉列表中是否有值

发布于 2024-12-10 14:24:32 字数 533 浏览 1 评论 0原文

我有清单:

<td id="filter_analyst">
<select>
    <option>mike1</option>
    <option>mike2</option>
    <option>mike3</option>
</select>

我正在尝试检查是否存在某些值:

var name = 'mike1';
alert(name);
var t = ($("#filter_analyst").find("[value='"+name+"']").length) > 1;
alert(t);

但是变得错误......

我做错了什么吗? http://jsfiddle.net/BFMD4/32/

提前致谢!

I have the list:

<td id="filter_analyst">
<select>
    <option>mike1</option>
    <option>mike2</option>
    <option>mike3</option>
</select>

and i'm trying to check if some value exist:

var name = 'mike1';
alert(name);
var t = ($("#filter_analyst").find("[value='"+name+"']").length) > 1;
alert(t);

But getting false...

Am I doing something wrong?
http://jsfiddle.net/BFMD4/32/

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

鹿童谣 2024-12-17 14:24:32

value 不是选项的标签,而是 中的 HTML 标记。

请参阅此工作示例: http://jsfiddle.net/ZZaSW/

[编辑] 另一个示例更像您的 HTML (但是没有表格的 不起作用,因此我在示例中放置了

)。

这是 HTML:

<div id="filter_analyst">
    <select>
        <option value="mike1">mike1</option>
        <option>mike2</option>
        <option>mike3</option>
    </select>
</div>

和 js:

var t = $('#filter_analyst').find('option[value=mike1]').length > 0;

The value is not the label of the option but the HTML tag within the <option>.

See this working example: http://jsfiddle.net/ZZaSW/

[EDIT] Another example more like your HTML (but a <td> without a table doesn't work so I've put a <div> for the example).

Here is the HTML:

<div id="filter_analyst">
    <select>
        <option value="mike1">mike1</option>
        <option>mike2</option>
        <option>mike3</option>
    </select>
</div>

And the js:

var t = $('#filter_analyst').find('option[value=mike1]').length > 0;
原来是傀儡 2024-12-17 14:24:32

http://jsfiddle.net/BFMD4/37/

<table>
    <tr>
        <td id="filter_analyst">
            <select id="dropdown1">
                <option value='mike1'>mike1</option>
                <option>mike2</option>
                <option>mike3</option>
            </select>
        </td>
    </tr>

//Find by value
alert($("#dropdown1 option[value='mike1']").length);
//Find by text
alert($("#dropdown1 option:contains('mike1')").length);

在您的原始示例中,td 选择器无法正常工作,因为它缺少包装表和 tr 标签。

http://jsfiddle.net/BFMD4/37/

<table>
    <tr>
        <td id="filter_analyst">
            <select id="dropdown1">
                <option value='mike1'>mike1</option>
                <option>mike2</option>
                <option>mike3</option>
            </select>
        </td>
    </tr>

//Find by value
alert($("#dropdown1 option[value='mike1']").length);
//Find by text
alert($("#dropdown1 option:contains('mike1')").length);

In your original example, the td selector was not working because it was missing the wrapping table and tr tags.

听不够的曲调 2024-12-17 14:24:32

工作答案

http://jsfiddle.net/BFMD4/45/

var name = 'i am mike1';
var t = $("#filter_analyst select").find("option").filter(function (){return $(this).text()==name }).length
alert(t);

working answer

http://jsfiddle.net/BFMD4/45/

var name = 'i am mike1';
var t = $("#filter_analyst select").find("option").filter(function (){return $(this).text()==name }).length
alert(t);
紫罗兰の梦幻 2024-12-17 14:24:32

尝试演示

var name = 'mike1';
var t = $("#filter_analyst select").find("option").filter("[text='" + name + "']").length >= 1;
alert(t);

Try demo

var name = 'mike1';
var t = $("#filter_analyst select").find("option").filter("[text='" + name + "']").length >= 1;
alert(t);
痕至 2024-12-17 14:24:32

试试这个
HTML 如下

<select id="ddltest">
<option value="mike1">mike1</option>
<option value="mike2">mike2</option>
<option value="mike3">mike3</option>

JS 代码如下,

 var name = 'mike1';
            var t = $("#ddltest option:contains(" + name + ")").val();
            if (t !== undefined) {
                alert(t);
            } else {
                alert('Name not existing');
            }

Try This
HTML as below

<select id="ddltest">
<option value="mike1">mike1</option>
<option value="mike2">mike2</option>
<option value="mike3">mike3</option>

JS Code as Below,

 var name = 'mike1';
            var t = $("#ddltest option:contains(" + name + ")").val();
            if (t !== undefined) {
                alert(t);
            } else {
                alert('Name not existing');
            }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文