0

我从 JQuery 开始,我想知道是否有办法将选定项目从选择列表发送到 JQuery 函数。

所以,这是我用过的小提琴:http: //jsfiddle.net/YCPM7/7/

我想知道是否有办法替换我在函数调用中设置的“选项:选择”。

这是小提琴上的部分代码:

 <select id="StateSelection1" name="StateSelection">
                <option value="1">state 1</option>
                <option value="2">state 2</option>
                <option value="3">state 3</option>
                <option value="4">state 4</option>
                <option value="5">state 5</option>
            </select>
        </td><td>
            <input type="button" value="envoi" class="bouton" name="test" onclick="switchDiv(1, 'option:select')"/>   

您可以在“switchDiv(1, 'option:select')”中看到的 '1' 并不重要。这是一个将由 razor (vb.net) 生成的 id。

4

4 回答 4

1

轻松做。首先,给按钮加上一个ID。我们称它为 btnTest。

现在,到 jQuery 部分,使用这个:

$("#btnTest").click( function() {
    alert($("#StateSelection1 option:selected").text());
});

这将获取选择的文本,获取索引使用 val() 而不是 text()

于 2012-04-10T13:59:18.043 回答
1

我尽量不要过多地编辑您在jsfiddle.js-target, .js-1中显示的 HTML,只添加和.js-2类来帮助解释正在做的事情。

下面的 jQuery 应该隐藏所有的 div,然后当单击其中一个按钮时,再次隐藏它们,只显示选择了选项的 div。

$(".js-target").hide();

$(".bouton").on("click", function() {
    $this = $(this);

    if ($this.hasClass("js-1")) {
        number = "1";
    } else if ($this.hasClass("js-2")) {
        number = "2";
    }

    target = $('#StateSelection' + number + ' option:selected').val();

    $(".js-target").hide();

    $("#" + number + "/" + target).show();
});​

小提琴可以在这里查看。

于 2012-04-10T14:29:36.107 回答
0

一旦你得到选择你可以使用的值

$("#btnTest").click( function() {
    $("#StateSelection1").val(YOUR_VALUE);
    }
于 2012-04-10T14:06:19.203 回答
0

最后我选择使用 onClick 方法来做这件事,这似乎要容易得多:

  <script type="text/javascript">
      function switchDiv(idCont) {
          value = $('#DivSelection' + idCont + ' option:selected').val();  
        alert("contactid = " + idCont + " DivSelected = " + value);
        $("#" + idCont + "1").hide();
        $("#" + idCont + "2").hide();
        $("#" + idCont + "3").hide();
        $("#" + idCont + "4").hide();
        $("#" + idCont + "5").hide();
        $("#" + idCont + "6").hide();
        $("#" + idCont + "7").hide();
        $("#" + idCont + "8").hide();
        $("#" + idCont + "9").hide();
        $("#" + idCont + value).show();
    };

</script> 

     <input id=@item.idContact type="button" value="Envoyer" class="bouton" onclick="switchDiv(@item.idContact)" />
于 2012-04-11T09:49:22.660 回答