2010-06-19 132 views
0
<script language="javascript"> 
function hello() 
{ 
    var selectproducto = document.getElementById("producto"); 

    var totalproducto = document.getElementById("producto").length; 

    var selectmanufacturero = document.getElementById("manufacturero"); 

    var chosenoption = selectmanufacturero.options[selectmanufacturero.selectedIndex].getAttribute('value'); 

    var limite = totalproducto; 

    for(var i = 0; i<limite; i++) { 

    if(i==0){ alert('|'); } 
    else if(i==7){ alert('|'); } 
    else{ 

    var ahora = selectproducto.options[i].getAttribute('title'); 
    alert(i); 

    if(ahora == chosenoption){ alert('+'); } 
    else{ 
     alert('-'); 
     selectproducto.options[i] = null; //saca la opcion 
    } 

    } 
    } 



    selectproducto.style.display = 'block'; 
} 
</script> 

<script language="javascript" type="text/javascript"> 
function addm() 
{ 
    document.getElementById("manufacturero").style.display="none"; 
    document.getElementById("new_man").style.display="block"; 
    document.getElementById("new_product").style.display="block"; 
} 
</script> 

<script language="javascript" type="text/javascript"> 
function addp() 
{ 
    document.getElementById("producto").style.display="none"; 
    document.getElementById("new_product").style.display="block"; 
} 
</script> 

<?php 
// ---------------- Crea opciones a escoger para los manufactureros ----------- 
$query = "SELECT * FROM manufactureros"; 
$result = mysql_query($query); 

while($row = mysql_fetch_assoc($result)) 
{ 
    $anterior = $manufactureros; 
    $manufactureros = $anterior."<option id='manufacturero_opcion' value='".$row['name']."'>".$row['name']."</option>"; 
} 
// ---------------- Crea opciones a escoger para los articulos ---------------- 
$result = mysql_query("SELECT * FROM productos"); 

while($row = mysql_fetch_assoc($result)) 
{ 
    $anterior = $productos; 
    $productos = $anterior."<option value='".$row['descripcion']."' title='".$row['manufacturero']."'>".$row['descripcion']."</option>"; 
} 
?> 

</head> 

<body> 

<form id="reservacion" action="#" method="POST" style="display:block;"> 

     <div><b>Art&iacute;culo</b><br /> 

      <select id="manufacturero" name="manufacturero" style="display:block;margin-left:20px" onchange='hello()'> 
       <option value="FALSE" selected="selected">- Elige el manufacturero -</option> 
       <?=$manufactureros?> 
       <option value="FALSE" onClick="addm()">..Añadir manufacturero..</option> 
      </select><br /> 

      <div id="new_man" style="display:none;margin-left:20px; margin-top:-20px; margin-bottom:-20px">Reservar con un manufacturero nuevo:<br /> 
      <input type="text" name="new_man" size=40 value="" style="margin-left:20px; margin-top:10px"> 
      </div> 

      <select id="producto" name="producto" style="display:block;margin-left:20px; margin-top:-14px"> 
       <option value="FALSE" selected="selected">- Elige el art&iacute;culo -</option> 
       <?=$productos?> 
       <option value="FALSE" onClick="addp()">..Añadir producto..</option> 
      </select><br /> 

      <div id="new_product" style="display:none; margin-left:20px; margin-bottom:20px">Reservar con un producto nuevo: 
       <table style="margin-left:20px"> 
        <tr><td>Id : </td><td><input type="text" name="new_product_id" size=40 value=""></td></tr> 
        <tr><td>Descripci&oacute;n : </td><td><input type="text" name="new_product" size=40 value=""></td></tr> 
       </table> 
      </div> 

     </div> 

     <input type="submit" name="submit" value="Reserva"> 

    </form> 

</body> 
+2

我们将看到一些html我认为。 – thomasfedb 2010-06-19 14:34:05

+0

'script'元素的'language'属性[已弃用](http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1)。 – 2010-06-19 14:59:07

回答

4

因为

document.getElementById("producto").length 

== 5

通过对事物的外观:

<select id="producto" name="producto" style="display:block;margin-left:20px; margin-top:-14px"> 
    <option value="FALSE" selected="selected">- Elige el art&iacute;culo -</option> 
    <?=$productos?> 
    <option value="FALSE" onClick="addp()">..Añadir producto..</option> 
</select><br /> 

的结果很可能是 “假” - 它的长度为5.

+0

产品列表来自数据库,其中有很多产品,超过50个。 – Glorialis 2010-06-19 14:39:36

+0

我试图看看它是否到了第7次迭代,它不是 – Glorialis 2010-06-19 14:42:09

+0

声音逻辑我会去看看是否是这个问题。谢谢! – Glorialis 2010-06-19 15:16:39

2

它看起来像你想迭代sele的选项克拉。您需要引用该属性。请注意,您只需检索它就不需要再次使用getElementById。

var totalproductos = selectproducto.options.length; 
+0

这是正确的感谢! – Glorialis 2010-06-19 15:21:07