Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 如何根据我的可用性设置选择选项_Javascript_Jquery_Jsp_Select - Fatal编程技术网

Javascript 如何根据我的可用性设置选择选项

Javascript 如何根据我的可用性设置选择选项,javascript,jquery,jsp,select,Javascript,Jquery,Jsp,Select,我有这样的jsp代码 我需要根据标签值进行验证&需要将选项设置为验证,选项由数据库填充 <c:forEach var="roomOccupanice" items="${RoomOccRequestNow}"> <label value ="${roomOccupanice}" class="roomOccupanice" id="roomOccupanice">${roomOccupanice}</label> <

我有这样的jsp代码 我需要根据标签值进行验证&需要将选项设置为验证,选项由数据库填充

<c:forEach var="roomOccupanice" items="${RoomOccRequestNow}">   
    <label value ="${roomOccupanice}"  class="roomOccupanice" id="roomOccupanice">${roomOccupanice}</label>
            <div class="custom-select-container">
               <select id="roomType" name="roomType" class="roomType">
                    <option value="N/A" selected="selected">--Select--</option>
                    <c:forEach var="roomType" items="${RoomTypeRequestNow}">
                        <option value="${roomType}">${roomType}</option>
                    </c:forEach>
                </select>   
                <label class="select-arrow"></label>
            </div>
            <!-- End -->
            <div class="custom-select-container">
               <select id="roomCount" name="roomCount" class="roomCount">
                    <option value="N/A" selected="selected">--Select--</option>
                    <c:forEach var="roomCount" items="${RoomCountRequestNow}">
                        <option value="${roomCount}">${roomCount}</option>
                    </c:forEach>
                </select>   
                <label class="select-arrow"></label>
            </div>
</c:forEach>


需要将红色循环选择选项设置为“豪华”

一种方法是通过其索引选择列表项

document.getElementById("roomCount").selectedIndex = <yournumber>;
document.getElementById(“roomCount”).selectedIndex=;
检查jQuery:

$("#roomType").val("yourOptionName");
以你为例:

$(".roomOccupanice").each(function () {
var label = $(this).text();
  $(this).next(".custom-select-container").children("select").each(function() {
      if (label == "Double") {
        $(this).val("double");
      }
   });
});

.

您需要筛选设置的选项,以匹配属于当前标签的选项。
$('.roomtype',)


这不会解决您的pb问题,但ID必须是唯一的。。只是说,
;)是的,我尝试过,当我这样做时,只有第一个标签的(单)选择选项更改为“豪华”,但我需要一个当前的1(双)啊,这里有一个逻辑错误,因为你没有指定你需要什么样的房间类型,当标签=“双”时,它会更改所有房间类型的值。我会尝试纠正它。Roomtype是豪华的,它已经在一个选项中,我需要根据占用率标签设置为单或双或三,在我的js I硬核中,如果(标签=“双”){}为测试在选择选项中设置值,我已经改进了解决方案。请检查它现在是否适合您。更新小提琴以及。我想它做了你想做的。选择接缝上的循环对我来说毫无用处。
:/
我会把测试
if(label==“double”)
放在
var label.
之后,然后执行
$(this).next().children('select').val('double')
在if条件花括号内
:p
不起作用,我经历了调试点,它不会在这个函数$(“.roomType”,“select[0])中出现。每个(函数(){每次我道歉时都会出现,我没有得到你的HTML结构…检查上次编辑…这里还有
;)
如果这解决了您的pb问题,那么您可以将此答案作为您的解决方案进行检查。
如果您对此代码有任何疑问,请提问。.这说明jQuery文档非常好!
$(".roomOccupanice").each(function () {
var label = $(this).text();
  $(this).next(".custom-select-container").children("select").each(function() {
      if (label == "Double") {
        $(this).val("double");
      }
   });
});
$(".roomOccupanice").each(function(){
    var $t = $(this),
    $select = $t.next().find('select');
    if ($t.text().toLowerCase() == "double"){
        $select[0].selectedIndex = $select.find('option').index($select.find('option[value^=Deluxe]')[0]);
    }

});