ボタンをクリックすると、ランダムな名字を生成するこのコードがあります。コードは正常に動作しますが、私は選択されたラジオボタンをチェックし、性別に応じて異なる名前を生成するように関数を編集したいと考えています。ここに私のコードは次のとおりです。ラジオボタンの値と一致するキーを持つオブジェクトの内部選択したラジオボタンによって、ボタンの結果が異なる場合があります。
// Create an array of first names
var firstNamem = ['Ragnar', 'Bjorn', 'Eric', 'Olaf', 'Ivar', 'Harald', 'Sigurd', ];
var firstnamef = ['Babbete','Babs','Astrid', 'Lachie','Lady','Lael','Bodil','Fridagertud']
var firstnameo = ['Alex','Evan','Esra','Finn','Gael','Dyre','Ronnie','Dale']
// Create an array of last names
var lastName = ['Lodbrok', 'Ironside', 'Bloodaxe', 'the Boneless', 'War-Tooth', 'Foul-Fart', 'Troll-Buster'];
//Event listener
$(document).ready(function(){
$('input[type=radio]').click(function(){
});
});
//Create function that will be called when the button is clicked
if(gender == 'male'){
function nameMe() {
var rfn = firstNamem[Math.floor((Math.random() * firstNamem.length))];
var rln = lastName[Math.floor((Math.random() * lastName.length))];
document.getElementById('yourNameIs').textContent = rfn + " " + rln;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
\t <title>Viking Gen</title>
</head>
<body>
\t <h1>Viking Name Generator</h1>
<br/>
<form>
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
</form>
<br/>
<button onclick="nameMe()">My Name is</button> <span id="yourNameIs"></span>
:それは
names.male[0]
かgender
がnames
オブジェクトのmale
/female
/other
プロパティと一致:checked
ラジオボタンのvalue
あるnames[gender][0]
を行うには簡単なのものより試してみる?あなたの宿題を解決するために、ここではstackoverflowは役に立ちますが、 – Dekel
ボタンは女性ラジオボタンの選択でクリックされたが、それは動作しませんでした配列firstnamefから名前を生成する別の関数nameMef()を追加しようとしました。 – TangoTime
は、イベントリスナー、 $(ドキュメント).ready(関数(){ $( '入力[タイプ=ラジオ]')追加結んだ。(関数(){ – TangoTime