多个条件不起作用的单选按钮 - 没有AJAX

时间:2016-02-10 10:59:34

标签: javascript html

首先,请仔细阅读。显然,我不是一个HTML或JavaScript的人。我是个骗子的家伙。我吮吸html和javscript.and请不要建议AJAX。嗨,我有单选按钮,一个名为cowboybtn的值(“牛仔”,“不是牛仔”),它总是不断出现在页面上,另一个叫做cigarbtn,带有值(“雪茄”,“没有雪茄”)。只有当我从下拉菜单中选择颜色时才会出现cigarbtn。当我点击牛仔按钮时,cowboybtn将不会对雪茄产生影响。因为我已经 从drodpdownmenu中选择的颜色。

但是,当我从下拉菜单中更改为“其他人”时,雪茄会消失。但它确实消失了。但是,当我点击牛仔按钮时,它再次显示出来。我试图通过使用div编码来隐藏雪茄并且不显示它,它可以工作,但不幸的是,如果我选择颜色(这是我以前的选择),它将不会像往常一样重新出现。

如何设置if条件或其他任何东西使其工作,以便当我处于“颜色”模式(从下拉列表中选择颜色)后,当我点击牛仔时,雪茄保持显示没有任何效果。当我改为“其他”模式(从下拉列表中选择其他模式后),当我点击牛仔时,雪茄按钮就会消失。它就像是同一个按钮上的多个条件。

为了让事情更容易理解,如果我从下拉菜单A中选择鱼,我已经有单选按钮B,只有在我选择了鱼后才会出现按钮C.当我点击按钮B时,没有任何影响按钮C(这很好)。现在当我从dropdownmenu A换到狗时,按钮B仍然像往常一样出现而按钮C消失(这很好)。那么问题是,当我点击按钮B时,按钮C重新出现。希望你明白。我不能发布整个剧本,因为它太复杂了。任何帮助都可以。提前谢谢。

html for cowboybtn

<input type="radio" name="optionsalerent" value="cowboy"
id="optionsalerent_0" onChange="ProductSelectionsale(this)" >
cowboy

html for cigarbtns

<tr>
           <td><div id="condition_2" style="display: none;">category</div>

           <td><div id="condition_0" style="display: none;">
           <input type="radio" name="condition"  value="cigar" id="condition_0">
           cigar</div>
            <div id="condition_1" style="display: none;">   
           <input type="radio" name="condition"  value="no cigar" id="condition_1">
           no cigar</div></td></tr>
      <br>

的javascript

    <script type="text/javascript">
     function ProductSelectionmain(element) {
            var selectedValue = element.value
                ProductSelectionsale(element,selectedValue);
                if(selectedValue == "colours") {
                             document.getElementById("condition_0").style.display = "inline";
                     document.getElementById("condition_1").style.display = "inline";
                      document.getElementById("condition_2").style.display = "inline";

的javascript

   function ProductSelectionsale(element,selectedValue) {
                var selectedValue2 = element.value

               if(selectedValue2 == "cowboy" && selectedValue == "Others"){
            document.getElementById("condition_0").style.display = "none";
                 document.getElementById("condition_1").style.display = "none";
                  document.getElementById("condition_2").style.display = "none";
    document.getElementById("condition_directowner").style.display = "none";
                        }
else 
{
        if(selectedValue2 == "cowboy"){
            document.getElementById("condition_0").style.display = "inline";
                 document.getElementById("condition_1").style.display = "inline";
                  document.getElementById("condition_2").style.display = "inline";
    document.getElementById("condition_directowner").style.display = "inline";


}}}

下面的“其他”值来自函数ProductSelectionmain(element)

if(selectedValue2 == "cowboy" && selectedValue == "Others")

如果我正确地做到这一点,我不是百分之百确定,但逻辑在那里它认为

1 个答案:

答案 0 :(得分:0)

页面上的每个元素都必须具有唯一的id属性(如果它有原因),即使这些元素不同。在你的情况下你有

<subsystem xmlns="urn:jboss:domain:threads:1.1"> 
    <thread-factory name="http-connector-factory" group-name="uq-thread-pool" thread-name-pattern="HTTP-%t" priority="9"/> 
    <unbounded-queue-thread-pool name="uq-thread-pool"> 
        <max-threads count="5"/> 
        <keepalive-time time="5" unit="seconds"/> 
        <thread-factory name="http-connector-factory"/> 
    </unbounded-queue-thread-pool> 
</subsystem> 

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">

    <connector name="http" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="http" socket-binding="http" executor="uq-thread-pool"/> 
    ....
    ....

其中<td> <div id="condition_0" style="display: none;"> <input type="radio" name="condition" value="cigar" id="condition_0"> cigar </div> <div>元素具有相同的ID