2017-03-07 103 views
1
<td class="row" id="253"> 
    <select class="available-room" style="" id="roomToBook"> 
<option value="0">Select</option> 
<option value=1>1</option> 
<option value=2>2</option> 
<option value=3>3</option> 
<option value=4>4</option> 
<option value=5>5</option> 
<option value=6>6</option> 
<option value=7>7</option> 
<option value=8>8</option> 
<option value=9>9</option> 
<option value=10>10</option> 
</select>`enter code here` 
    </td> 
    <td class="row" id="253"> 
    <select class="available-room" style="" id="roomToBook"> 
<option value="0">Select</option> 
<option value=1>1</option> 
<option value=2>2</option> 
<option value=3>3</option> 
<option value=4>4</option> 
<option value=5>5</option> 
<option value=6>6</option> 
<option value=7>7</option> 
<option value=8>8</option> 
<option value=9>9</option> 
<option value=10>10</option> 
</select>    </td> 
    <td class="row" id="253"> 
    <select class="available-room" style="" id="roomToBook"> 
<option value="0">Select</option> 
<option value=1>1</option> 
<option value=2>2</option> 
<option value=3>3</option> 
<option value=4>4</option> 
<option value=5>5</option> 
<option value=6>6</option> 
<option value=7>7</option> 
<option value=8>8</option> 
<option value=9>9</option> 
<option value=10>10</option> 
</select>    </td> 

我有一个三个表格单元具有不同的ID。在用户选择相应id的选项并在用户从同一时间从不同表格单元中选择两个或更多两个选项值时,在数组中添加标识时,我希望获得标识。 我也有一个javascript代码。它经常在每次选择相同id的选项值时显示相同的id。请别人帮助我。如何在javascript数组中添加某个div元素的id?

$(document).ready(function() { 
$(document).on('change', '.available-room', function() { 
    var room_id = new Array(); 
     room_id.push($(this).parent('td').attr('id')); 
     alert(room_id); 
    }); 
    });  
+0

你的HTML是无效的。 'id'属性**在文档中必须是唯一的,不能在多个元素上使用相同的'id'。所以这是第一个要解决的问题。如果你需要将元素分组在一起,'class'是有用的。 (你也会让人们告诉你'id's不能是数字,他们可以,但是如果你需要使用带有数字'id'值的CSS选择器,这是一个痛苦。\ [[只限制](https ://www.w3.org/TR/html5/dom.html#the-id-attribute)它们必须是唯一的,不能包含空格,并且必须至少有一个字符,如果给出。]) –

+0

你是正确的先生,我在提问时忘记了改变id值。此id属性在我的项目中始终是唯一的,它来自数据库。感谢您的补充。 –

回答

1

您必须声明ID在一个文件中唯一的,这样就可以通过$(this).val()和数组声明var room_id = new Array()得到的值必须是外.on('change',function(){....});

 <table> 
      <td class="row" id="roomToBook_1"> 
       <select class="available-room" style="" id="roomToBook1"> 
        <option value="0">Select</option> 
        <option value=1>1</option> 
        <option value=2>2</option> 
        <option value=3>3</option> 
        <option value=4>4</option> 
        <option value=5>5</option> 
        <option value=6>6</option> 
        <option value=7>7</option> 
        <option value=8>8</option> 
        <option value=9>9</option> 
        <option value=10>10</option> 
       </select> 
      </td> 
      <td class="row" id="roomToBook_2"> 
       <select class="available-room" style="" id="roomToBook2"> 
        <option value="0">Select</option> 
        <option value=1>1</option> 
        <option value=2>2</option> 
        <option value=3>3</option> 
        <option value=4>4</option> 
        <option value=5>5</option> 
        <option value=6>6</option> 
        <option value=7>7</option> 
        <option value=8>8</option> 
        <option value=9>9</option> 
        <option value=10>10</option> 
       </select>    </td> 
      <td class="row" id="roomToBook_3"> 
       <select class="available-room" style="" id="roomToBook3"> 
        <option value="0">Select</option> 
        <option value=1>1</option> 
        <option value=2>2</option> 
        <option value=3>3</option> 
        <option value=4>4</option> 
        <option value=5>5</option> 
        <option value=6>6</option> 
        <option value=7>7</option> 
        <option value=8>8</option> 
        <option value=9>9</option> 
        <option value=10>10</option> 
       </select>    </td> 
     </table> 


     <script> 

      $(document).ready(function() { 
       var room_id = new Array(); 
       $(document).on('change', '.available-room', function() { 

        room_id.push($(this).val()); 
        //alert(room_id); 
        alert(JSON.stringify(room_id)); 
       }); 
      }); 


     </script>  
+0

不工作,先生。我希望id属性不是所选的选项值。另一件事是,id应该被添加到数组中,而不是在每个选择中,而是在一个选项值中进行选择。 –

+0

然后你使用'$(this).attr(“id”);'得到编号 –

+0

我已经这样做了。主要问题是在选择不同的选项值时,警报经常会抛出相同的ID。你有什么想法只能得到一个ID?请帮忙。 –

相关问题