プロが教えるわが家の防犯対策術!

初心者です。

入力されたデータを修正する画面を作成しています。

javascriptを使って
呼び出したデータのテキストボックス(text)の内容に応じて
チェックボックスにチェックが入るようなフォームを作成したいです。

text【簡易書留】
だったら
■簡易書留
□速達
□宅急便

text1【簡易書留,速達】
だったら
■簡易書留
■速達
□宅急便

と、このようにしたいです。

どのようにすればいいのでしょうか?
よろしくお願いいたします!

A 回答 (1件)

ぜんかくくうはくは、はんかくに。



<!DOCTYPE html>
<html lang="ja">
<head>
 <title></title>
 <meta charset="utf-8">
</head>

<body>
<form>
 <p>
  <input type="checkbox" name="hoge" value="簡易書留">
  <input type="checkbox" name="hoge" value="速達">
  <input type="checkbox" name="hoge" value="宅急便">
 </p>
 <p>
  <input type="text" name="huga" value="簡易書留, 速達">
  <input type="button" value="Test" onclick="test.call(this, event)">
 </p>
</form>


<script>

if(!Array.prototype.forEach)Array.prototype.forEach=function(b,c){var d=this.length;if(typeof b!="function")throw new TypeError;for(var a=0;a<d;a++)a in this&&b.call(c,this[a],a,this)};
if(!Array.prototype.indexOf)Array.prototype.indexOf=function(c,d){var b=this.length,a=Number(d)||0,a=a<0?Math.ceil(a):Math.floor(a);for(a<0&&(a+=b);a<b;a++)if(a in this&&this[a]===c)return a;return-1};
//うえは、いらないかも?


function test (event) {
 var es = this.form.elements;
 var ts = es['huga'].value.replace (/^\s+|\s+$/g, '').split (/\s*,\s*/g);
 Array.prototype.forEach.call (es['hoge'],
  (function (e) { e.checked = (0 <= this.indexOf (e.value))}), ts);
}
</script>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

何日間も悩み続けで、なかば諦めモードで掲示板に質問したので
お返事いただけでとてもうれしいです!
本当にありがとうございます!

今日時間がありそうなのでこれからゆっくり取りかかります!

また何かありましたらお願いいたしま

お礼日時:2011/08/05 09:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!