-1

3 つのラジオ ボタン [1Day、1Week、1Month] があり、最初は 1day が選択されます。非表示フィールドに必要なすべての starton 値と expireon 値があります。ユーザーの選択に基づいて、starton と expireon の値をスパン タグに更新する必要があります。ここで starton 値は 3 つの選択すべてで同じですが、ラジオ ボタンの選択に基づいて expireon 値のみが変更されます。ここでこれを完了するのを手伝ってくれる人はいますか。

HTML コード:

<body>
    <input type="hidden" id="startOn" value="01/01/2013" />
    <input type="hidden" id="expireDay" value="01/01/2013" />
    <input type="hidden" id="expireWeek" value="01/07/2013">
    <input type="hidden" id="expireMonth" value="01/31/2012" />
    <input type="radio" id="packageAmt1" name="packageAmt" checked="checked">1 Day</input>
    <input type="radio" id="packageAmt2" name="packageAmt">1 Week</input>
    <input type="radio" id="packageAmt3" name="packageAmt">1 Month</input>
    <br/>Start on<span id="startOnValue" /></span>
    <br/>Expire on<span id="expireOnValue" /></span>
</body>

jQuery Code:

$(document).ready(function () {
    var starton = $('#startOn').val()
    var expireday = $('#expireDay').val()
    var expireweek = $('#expireWeek').val()
    var expiremonth = $('#expireMonth').val()
    $('#startOnValue').text(starton);
    $('#expireOnValue').text(expireday);
    $('input[type=radio]').change(function () {

    });
});
4

6 に答える 6

1

隠しフィールドから値を取得し、選択したラジオに応じてスパンに入れたいようです。

すべての入力タグ構文の最初が間違っています。そして、これが機能するように値も追加します。

<label><input type="radio" name="packageAmt" value="expireDay" checked="checked"/>1 Day</label>
<label><input type="radio" name="packageAmt" value="expireWeek"/>1 Week</label>
<label><input type="radio" name="packageAmt" value="expireMonth"/>1 Month</label>

スパン構文が間違っています

<br/>Start on <span id="startOnValue"></span>
<br/>Expire on <span id="expireOnValue"></span>

JQ

$('input[name="packageAmt"]').change(function(){

     // you could do in one line
     // $('#expireOnValue').text($('#' + $(this).val()).val());
     // but for easier reading...

     // get the value of the input whose ID is the VALUE of this radio
     var selector='#' + $(this).val();
     var text=$(selector).val();

     // put it in the span
     $('#expireOnValue').text(text);

}).first().trigger('change'); // trigger on page load to catch the default

(未検証)

于 2013-05-02T12:53:25.690 に答える
0

すでに作業の 99% を完了しています。空の関数本体内で、次を使用します。

$('#expireOnValue').innetText = $('radio:checked')[0].innerText;
于 2013-05-02T12:54:59.580 に答える