簡體   English   中英

兩個單選按鈕,一個文本區域和一個數字框,當radio1為“是”和/或2為“否”時如何檢查文本區域是否已填充

[英]Two Radio buttons, a textarea and a number box, how to check if textarea is filled when radio1 is Yes and/or 2 is no

這是收音機和文本區域等。

if(mysql_num_rows($canview) > 0) { ?>

      <!-- Questions on return send all this to database then to place where dept. heads can see it-->
            <div id = "returnform" >
            <form action="" method="post">
                <h4>Are any of the item(s) missing?</h4>
                    Yes<input type ="radio" name ="missing" id = "missing1" value = "Yes" required>
                    No<input type ="radio" name ="missing" id = "missing2" value = "No" >
                    <div class = "lossnum">
                    <input type="number" name="lossnum" id = "lossnum" placeholder="0">
                    </div>
                <h4>Was every item put back/plugged in correctly?</h4>
                    Yes<input type ="radio" name ="putback" id = "putback1" value = "Yes" required>
                    No<input type ="radio" name ="putback" id = "putback2" value = "No">
                <div class = "returncomments">  
                <h4>what happened?</h4>
                <textarea name="comments"></textarea> 
                </div>
            </div>
        <input name="item_id" type="hidden" value="<?php echo $item->get_id(); ?>" />
        <h4>Are you sure you want to return these <?php echo $item->get_name(); ?>? </h4>
        <input type="submit" id="submit" name="submit" value="Return" />

現在我所要做的就是改變這個:

$(document).ready(function () {
$(".lossnum").hide();
$(".comments").hide();
$(".returncomments").hide();
$(".commentup").hide();
$("#missing1").click(function () {
    $(".lossnum").show();
    $(".comments").show();
    $(".returncomments").show();

});
$("#missing2").click(function () {
    $(".lossnum").hide();
    if($('#putback2').is(':checked')){
        $(".comments").show();
        $(".returncomments").show();
    }
    else{
        $(".comments").hide();
        $(".returncomments").hide();
    }
});
 $("#putback2").click(function () {
        $(".comments").show();
        $(".returncomments").show();
});
$("#putback1").click(function () {      
    if($('#missing2').is(':checked')){
        $(".comments").hide();
        $(".returncomments").hide();
    }
    else{
        $(".comments").show();
        $(".returncomments").show();
    }
});});

這樣可以使textarea在1為是和/或2為no的情況下打開,唯一的問題是,如果您隨后將收音機更改為no1 / yes2(這應該是textarea不顯示的唯一方式),它將停留在那里,如何我會這樣做,以便僅在1的是和/或​​2的否是真以外的其他情況下才顯示它,並且如果更改了它,它就會消失,如果不是,則不會出現。

接下來,我想做的是,當1 =是或/和2 =否時,需要填寫文本區域

您可以在大多數情況下忽略丟失的數字

這是一個JSfiddle

var itemMissing = false
  , itemPluggedIn = true;

function updateCommentsDisplay(itemMissing, itemPluggedIn) {
    if(itemMissing || !itemPluggedIn) {
        $('#comments').show();
    } else {
        $('#comments').hide();
    }
}

$('#nb-of-missing-items-field').hide();
updateCommentsDisplay(itemMissing, itemPluggedIn);

$('#missing input[name="missing-items"]').on('change', function () {
    if(this.value === 'Yes') {
        $('#nb-of-missing-items-field').show();
        itemMissing = true;
    } else {
        $('#nb-of-missing-items-field').hide();
        itemMissing = false;
    }

    updateCommentsDisplay(itemMissing, itemPluggedIn);
});

$('#plugged-in input[name="plugged-in-items"]').on('change', function () {
    if(this.value === 'Yes') {
        itemPluggedIn = true;
    } else {
        itemPluggedIn = false;
    }

    updateCommentsDisplay(itemMissing, itemPluggedIn);
});

http://jsfiddle.net/L7et15du/7/

這就是您想要實現的目標嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM