使用JavaScript或JQuery模拟用户点击

时间:2014-12-07 18:53:06

标签: javascript jquery html css click

昨天,我在stackexchange中提出了一个问题,Sean和A. Wolff已经给出了我所要求的令人满意的答案。 The link is here问题是下拉菜单顶部有一个叠加层,如果有更改,则无法显示。我们删除了那个叠加层并且它有效。

我今天继续我的项目工作,我意识到我提出的问题,因此答案并不完全是我想要的。我想要的是,我真的希望得到确切的用户点击。这意味着,在我们实现目标的过程中,我们不应从页面中删除任何类或元素。

这是一个极简主义的代码。有一个下拉菜单,如果您选择" Bedrag"在菜单中,下拉列表旁边会打开一个文本框。任何人都可以帮助我如何选择" Bedrag"使用JQuery还是JS?请注意,不应删除任何元素或类别或任何内容。它应该只选择下拉列表中的项目并触发信号。我一直在努力尝试这一点,但它已经归结为我无法在没有你们帮助的情况下做到这一点。

以下是代码:http://jsfiddle.net/so0h96ns/1/

下拉列表的代码是:

<div data-custom-select class="select-price ">
  <label for="price" data-label-hide class="has-hidden-label">Selecteer prijs</label>
  <select name="adv.bedragplaats" id="price" class="price-field" data-price data-set-as-required >
    <option value="">Kies...</option>
    <option value="&lt;amount&gt;" >Bedrag</option>
    <option value="gratis" >Gratis</option>
    <option value="ruilen" >Ruilen</option>
    <option value="teab" >Prijs overeen te komen</option>
    <option value="nvt" >Niet van toepassing</option>
  </select>
</div>

1 个答案:

答案 0 :(得分:1)

这是三部分

        //first assign the change event which opens the box on the side
        $('.price-field').on("change", function () {

            if ($(this).val() === "<amount>") {
                console.log("the amount option has been selected now open THE BOX");
            }

        })

            //then select the bedrang
                .find('option[value="<amount>"]')

            //then trigger the change event to open the box
                .attr("selected", true).trigger("change");

这是小提琴http://jsfiddle.net/orchid1/vtrsgLnr/1/