将所选值传递给jquery函数

时间:2015-02-11 15:16:45

标签: javascript jquery html

我正在尝试使用jquery删除<td>。我需要删除<td>,如果其联系人与从下拉列表中选择的用户匹配。问题是我无法弄清楚如何将此值传递给函数。 这是我的功能:

$(document).ready(function() {
    $("button").click(function() {
        $("td").each(function(index, paragraph) {
            $td = $(paragraph);
            if ($td.html() === "SELECTED GOES HERE") {
                $td.remove();
            }
        });
    });
});

这是下拉列表创建:

$query = "SELECT user_name FROM users";
$result = mysql_query($query); ?>
<select name="select1">
    <option value="" disabled selected>user name</option>
    <?php while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { ?>
        <option value="<?php echo $line['user_name'];?>">
            <?php echo $line['user_name'];?>
        </option>
    <?php } ?>
</select>

如何将选定的值发送给函数?感谢...

4 个答案:

答案 0 :(得分:0)

在函数中直接与所选值进行比较。

$(document).ready(function() {
    $("button").click(function() {
        $("td").each(function(index, paragraph) {
            $td = $(paragraph);
            if ($td.html() === $("#select1").val()) {
                $td.remove();
            }
        });
    });
});

答案 1 :(得分:0)

要获取所选选项的值,您只需执行以下代码:

$('select[name=select1]').val()

问候timotheus

答案 2 :(得分:0)

您不必将值传递给函数。只需单击一次按钮即可获取所选值。 最简单的方法是使用:contains选择器

$(document).ready(function() {
    $("button").click(function() {
        $("td:contains("+$('select[name="select1"]').val()+")").remove();
    });
});

<强> JSFiddle

你可能想要更进一步,删除所选的选项(因为你可能不再需要它了):

$("button").click(function() {
    var val = $('select[name="select1"]').val();
    $('td:contains("'+val+'"), option[value="'+val+'"]').remove();
});

<强> JSFiddle

答案 3 :(得分:-2)

我为你创造了一个小提琴。我已将您想要的内容传递给ID,并将其作为变量传递给您。

http://jsfiddle.net/37ocy2am/

<强> HTML

<select name="select1" id="usernames">
    <option value="" disabled selected>user name</option>
        <option value="stephencarr">Stephen Carr</option>
        <option value="bobjones">Bob Jones</option>
        <option value="ashleysims">Ashley Sims</option>
        <option value="rushgreg">Rush Greg</option>
</select>

<div id="place_name_here">when you select you will get name here. <br>Just change jquery to pass the var somewhere else</div>

<强> JS

$(document).ready(function() {

$( "#usernames" ).change(function() {
    var selected_value = $("#usernames").val();
    $("#place_name_here").html(selected_value);

    $("td").each(function(index, paragraph) {
            $td = $(paragraph);
            if ($td.html() === selected_value) {
                $td.remove();
            }
        });
});//close change function

});

<强> CSS

#place_name_here{
    width:100%;
    text-align:center;
    font-weight:bold;
    font-size:20px;
    color:#00277A;
}