如果选择选项值与单独div中的文本匹配,请添加禁用字段

时间:2017-10-26 10:58:28

标签: javascript

我在我的网站上使用选择字段重新加载页面,然后将此值添加到单独的div中。如果任何div与选项具有相同的值,我希望能够禁用此选项。

 <select id="bayname" name="bayname">                      
              <option value="">--Select Bay--</option>
              <option value="1">Bay 1</option>
              <option value="2">Bay 2</option>
              <option value="3">Bay 3</option>
              <option value="4">Bay 4</option>
              <option value="5">Bay 5</option>
              <option value="6">Bay 6</option>
              <option value="7">Bay 7</option>
              <option value="8">Bay 8</option>
              <option value="9">Bay 9</option>
              <option value="10">Bay 10</option>
              <option value="11">Bay 11</option>
              <option value="12">Bay 12</option>
              <option value="13">Bay 13</option>
              <option value="14">Bay 14</option>
              <option value="15">Bay 15</option>
              <option value="16">Bay 16</option>
              <option value="17">Bay 17</option>
              <option value="18">Bay 18</option>
              <option value="19">Bay 19</option>
              <option value="20">Bay 20</option>
              <option value="21">Bay 21</option>
              <option value="22">Bay 22</option>
              <option value="23">Bay 23</option>
              <option value="24">Bay 24</option>
              <option value="25">Bay 25</option>
              <option value="26">Bay 26</option>
              <option value="27">Bay 27</option>
              <option value="28">Bay 28</option>
              <option value="29">Bay 29</option>
              <option value="30">Bay 30</option>
            </select>

例如,如果用户点击了“海湾1&#39; div会像这样创建:

<li id="1509013949" class="cart-select cart-mode-cart">
<a href="#select" target="1509013949" onclick="return BMCWcMs.command('select', this);" title="Select Cart">1</a>
</li>

然后当页面再次重新加载时,我想创建一个if语句,所以如果select中的值在其中一个div中,那么它应该将其添加为disabled。

我之前使用下面的代码执行此操作,但我无法在控制台日志中打印出来。

var baynumberoption = $("#bayname option").val();
var baynumber = $(".cart-select a[href='#select']").text();

if (baynumber.indexOf(baynumberoption) >= 0) {
     console.log("match found");
}

1 个答案:

答案 0 :(得分:0)

$("#bayname option")返回所有选项,所以我认为你真的想要使用以下内容。请注意,如果您不想依赖链接的内部文本,还可以添加数据属性data-id="1"来存储可以使用的值,如:

$("#bayname option").each(function() {
   var val = $(this).val();
   if ( $(".cart-select a[data-id=" + val + "]").length > 0 ) {
      $(this).attr("disabled", "disabled");  
   }
});

某些语法可能已关闭,但您明白了。