updated 添加找关系功能
This commit is contained in:
parent
777dcb41e5
commit
a55648316f
21
index.html
21
index.html
@ -18,11 +18,14 @@
|
||||
<label for="male"><input id="male" type="radio" name="sex" value="1" checked>男</label>
|
||||
<label for="female"><input id="female" type="radio" name="sex" value="0">女</label>
|
||||
</p>
|
||||
<p>计算类型:
|
||||
<label for="default"><input id="default" type="radio" name="type" value="default" checked>找称呼</label>
|
||||
<label for="chain"><input id="chain" type="radio" name="type" value="chain">找关系</label>
|
||||
</p>
|
||||
<p>称呼方式:
|
||||
<label for="call"><input id="call" type="radio" name="reverse" value="0" checked>我称呼对方</label>
|
||||
<label for="called"><input id="called" type="radio" name="reverse" value="1">对方称呼我</label>
|
||||
</p>
|
||||
<p>家庭关系:</p>
|
||||
<p>
|
||||
<textarea id="input" placeholder="人物间用'的'字分开…"></textarea>
|
||||
</p>
|
||||
@ -74,7 +77,9 @@
|
||||
<script>
|
||||
(function(){
|
||||
var $sex = document.getElementsByName('sex');
|
||||
var $type = document.getElementsByName('type');
|
||||
var $reverse = document.getElementsByName('reverse');
|
||||
var $radio = document.getElementsByTagName('INPUT');
|
||||
var $textarea = document.getElementsByTagName('TEXTAREA');
|
||||
var $btns = DOMUtil.getElementsByClassName('btn');
|
||||
var $buttons = DOMUtil.getElementsByClassName('input-button');
|
||||
@ -91,8 +96,9 @@
|
||||
var value = $textarea[0].value.trim();
|
||||
if(value){
|
||||
var sex = $sex[0].checked?1:0;
|
||||
var type = $type[0].checked?'default':'chain';
|
||||
var reverse = !$reverse[0].checked;
|
||||
var result = relationship({text:value,sex:sex,reverse:reverse});
|
||||
var result = relationship({text:value,sex:sex,reverse:reverse,type:type});
|
||||
$textarea[1].value = '';
|
||||
if(result.length){
|
||||
$textarea[1].value = result.join('\n');
|
||||
@ -116,21 +122,14 @@
|
||||
toggle('爸爸,老公,儿子,哥哥,弟弟'.indexOf(name)>-1);
|
||||
}
|
||||
}
|
||||
for(var i=0;i<$sex.length;i++){
|
||||
$sex[i].onchange=function(){
|
||||
for(var i=0;i<$radio.length;i++){
|
||||
$radio[i].onchange=function(){
|
||||
toggle($sex[0].checked);
|
||||
if($textarea[1].value){
|
||||
count();
|
||||
}
|
||||
}
|
||||
}
|
||||
for(var i=0;i<$reverse.length;i++){
|
||||
$reverse[i].onchange = function(){
|
||||
if($textarea[1].value){
|
||||
count();
|
||||
}
|
||||
};
|
||||
}
|
||||
$buttons[0].onclick = function(){
|
||||
var value = $textarea[0].value.trim();
|
||||
var index = value.lastIndexOf('的');
|
||||
|
@ -289,7 +289,7 @@
|
||||
'm,m':['外婆','姥姥','阿婆'],
|
||||
'm,m,f':['外曾外祖父','外太外公','太姥爷'],
|
||||
'm,m,m':['外曾外祖母','外太外婆','太姥姥'],
|
||||
'm,m,xb':['外舅公','外舅祖父','舅姥爷','舅外祖父','舅外公'],
|
||||
'm,m,xb':['外舅公','外舅祖父','舅姥爷','舅外祖父','舅外公','舅公'],
|
||||
'm,m,xb,w':['外舅婆','外舅祖母','舅姥姥'],
|
||||
'm,m,xb,s':['表舅','表舅父'],
|
||||
'm,m,xb,s,w':['表舅妈','表舅母'],
|
||||
@ -686,10 +686,22 @@
|
||||
return '';
|
||||
}
|
||||
|
||||
//简化选择器
|
||||
function getChainById(id){
|
||||
var arr = id.split(',');
|
||||
var items = [];
|
||||
for(var i = 0;i<arr.length;i++){
|
||||
var key = arr[i].replace(/&[ol]/,'');
|
||||
items.push(_data[key][0]);
|
||||
}
|
||||
return items.join('的');
|
||||
}
|
||||
|
||||
function relationship(parameter){
|
||||
var options = {
|
||||
text:'',
|
||||
sex:-1,
|
||||
type:'default', //为'chain'时,reverse无效
|
||||
reverse:false
|
||||
};
|
||||
for (var p in parameter) {
|
||||
@ -703,6 +715,12 @@
|
||||
// console.log('ids#',ids);
|
||||
for(var j=0;j<ids.length;j++){
|
||||
var id = ids[j];
|
||||
if(options.type=='chain'){
|
||||
var data = getChainById(id);
|
||||
if(data){
|
||||
result.push(data);
|
||||
}
|
||||
}else{
|
||||
if(options.reverse){
|
||||
id = reverseId(id,options.sex);
|
||||
}
|
||||
@ -730,6 +748,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return unique(result);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user