Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery按文本从选项中选择_Javascript_Jquery_Coffeescript - Fatal编程技术网

Javascript JQuery按文本从选项中选择

Javascript JQuery按文本从选项中选择,javascript,jquery,coffeescript,Javascript,Jquery,Coffeescript,我有以下html: <select class="select optional form-control" id="search_form_handover_location" name="search_form[handover_location]"><option value="">Wybierz miejsce odbioru</ <option value="Gdańsk">Gdańsk</option> <o

我有以下html:

<select class="select optional form-control" id="search_form_handover_location" name="search_form[handover_location]"><option value="">Wybierz miejsce odbioru</
    <option value="Gdańsk">Gdańsk</option>
    <option value="Gdańsk">Gdańsk, Lotnisko</option>
    <option value="Ożarowice">Katowice, Lotnisko</option>
</select>    
<select class="select optional form-control" id="search_form_return_location" name="search_form[return_location]"><option value="">Wybierz miejsce zwrotu</option>
      <option value="Gdańsk">Gdańsk</option>
      <option value="Gdańsk">Gdańsk, Lotnisko</option>
      <option value="Ożarowice">Katowice, Lotnisko</option>
</select>

现在我通过使用每个选项的值来做这件事。但现在我想通过使用文本而不是值来实现这一点。因此,当在第一个选择中选择Gdańsk时,Lotnisko将在第二个选择选项中自动选择相同的文本。有没有可能解决我的问题?

你可以用这行文字,用它做你想做的

$("#search_form_handover_location:selected").text();

你可以用这行文字,做你想做的

$("#search_form_handover_location:selected").text();

试试这个:从第一个下拉列表中获取文本表单,然后在第二个下拉列表中找到它

$ ->
  $('#search_form_handover_location').change ->
     locationTxt = $("option:selected", this).text();

        $('#search_form_return_location option').each(function(){
           if($(this).text()==locationTxt)
               $(this).prop('selected',true);
           else
               $(this).removeProp('selected'); 
       });

试试这个:从第一个下拉列表中获取文本表单,然后在第二个下拉列表中找到它

$ ->
  $('#search_form_handover_location').change ->
     locationTxt = $("option:selected", this).text();

        $('#search_form_return_location option').each(function(){
           if($(this).text()==locationTxt)
               $(this).prop('selected',true);
           else
               $(this).removeProp('selected'); 
       });


谢谢你的回复。我知道我可以用text方法获取文本。但现在我不知道如何在第二个选择菜单中通过此文本选择合适的选项。为此,请尝试以下操作:$'search\u form\u return\u location'。find'option[text=your text here]'。attr'selected',true;。我还没有尝试过这个,但它可能会为你工作…谢谢的答复。我知道我可以用text方法获取文本。但现在我不知道如何在第二个选择菜单中通过此文本选择合适的选项。为此,请尝试以下操作:$'search\u form\u return\u location'。find'option[text=your text here]'。attr'selected',true;。我没有尝试过这个,但它可能会为你工作…这段代码几乎正常工作,但它有时选择错误的东西。我不知道为什么。@MateuszUrbański,您使用的是哪个jquery版本?如果您使用的是v1.6+jquery版本,请使用“prop”而不是“attr”。我想我知道问题出在哪里了。当我在第一次选择中更改所选选项时,它将从第二次选择中进行选择,并将属性:selected添加到此选项。这个属性导致了问题。当“第二次选择”中的选项选中此属性时,它将无法正常工作。您知道如何解决此问题吗?此代码几乎正常工作,但有时会选择错误的内容。我不知道为什么。@MateuszUrbański,您使用的是哪个jquery版本?如果您使用的是v1.6+jquery版本,请使用“prop”而不是“attr”。我想我知道问题出在哪里了。当我在第一次选择中更改所选选项时,它将从第二次选择中进行选择,并将属性:selected添加到此选项。这个属性导致了问题。当“第二次选择”中的选项选中此属性时,它将无法正常工作。你知道怎么解决这个问题吗?谢谢你的帮助。但不幸的是,这段代码并没有像我想要的那样工作。有时搜索正确,有时不正确。我不知道出了什么问题。@MateuszUrbański,你检查浏览器控制台了吗?你发现什么错误了吗?@MateuszUrbański,这对我来说很好。查看您正在使用的浏览器?我已经尝试了与您所说的相同的方法,但在chrome上工作正常。@MateuszUrbański,它现在正在工作。只需使用.prop而不是.attr,并删除else部分中以前选择的选项。看这个。在firefox上测试。感谢您的帮助。但不幸的是,这段代码并没有像我想要的那样工作。有时搜索正确,有时不正确。我不知道出了什么问题。@MateuszUrbański,你检查浏览器控制台了吗?你发现什么错误了吗?@MateuszUrbański,这对我来说很好。查看您正在使用的浏览器?我已经尝试了与您所说的相同的方法,但在chrome上工作正常。@MateuszUrbański,它现在正在工作。只需使用.prop而不是.attr,并删除else部分中以前选择的选项。看这个。在firefox上测试。第一个选项和第二个选项的值相同,因此当您在第一个下拉列表中选择第一个或第二个选项时,它将始终在第二个下拉列表中选择第一个选项。如果这是您的问题所在,请更改值并重试。第一个选项和第二个选项的值相同,因此当您在第一个下拉列表中选择第一个或第二个选项时,它将始终在第二个下拉列表中选择第一个选项。如果这是您的问题所在,请更改值并尝试。