简体   繁体   English

如何在javascript中将值作为参数传递

[英]How to pass values as parameters in javascript

I am working on a test project to learn web development and have run into a problem that I am not sure how to solve. 我正在研究一个测试项目来学习Web开发,并遇到了一个我不确定如何解决的问题。

I have a table that contains 11 cells. 我有一个包含11个单元格的表。 9 of the cells have predefined values in them, however, for the other two I would like to manually set the value through passing values to parameters. 其中9个单元格中有预定义值,但是对于其他两个单元格,我想通过将值传递给参数来手动设置值。

The code; 编码;

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Colour Match</title>
</head>

<body>
<table width="300" border="1" id="menuitems">
  <tbody>
    <tr>
      <td id="cell1"><div>&nbsp;RED</div></td>
      <td id="cell2"><div>&nbsp;BLUE</div></td>
      <td  id="cell3"><div>&nbsp;GREEN</div></td>
    </tr>
    <tr>
      <td id="cell5"><div>&nbsp;PINK</div></td>
      <td  id="cell6"><div>&nbsp;PURPLE</div></td>
      <td  id="cell7"><div>&nbsp;YELLOW</div></td>
    </tr>
    <tr>
      <td id="cell9"><div>&nbsp;BLACK</div></td>
      <td  id="cell10"><div>&nbsp;BROWN</div></td>
      <td  id="cell11"><div>&nbsp;GREY</div></td>
    </tr>
  </tbody>
</table>
<table width="300" border="1" id="menulist">
  <tbody>
    <tr>
    <td id="colourname"><div>&nbsp;colour name</div></td>
    </tr>
    <tr>
      <td id="colour">&nbsp;colour</td>
    </tr>
  </tbody>
</table>
</body>
</html>

I have given ids to each cell and what I would like to do is, change the value of the bottom two cells 'colourname' and 'colour' depending on what cell user clicked, however, I would like to manually pass values to javascript parameter when I call it on click; 我已经为每个单元格提供了id,我想要做的是,根据用户点击的单元格更改底部两个单元格'colourname'和'color'的值,但是,我想手动将值传递给javascript参数当我点击它的时候; Something like this; 像这样的东西;

 </script> <td id="cell1" onClick="mySetup("RED", Color:RED)"><div>&nbsp;RED</div></td>

I don't have much knowledge of Javascript but I have some knowledge of java and this is roughly how it can be achieve in java: 我对Javascript知之甚少,但我对java有一些了解,这大致是如何在java中实现的:

TextField someID;
Button SomeID;


    Public mySetup (String colourName, Color colour) {

    someID = colourName;
    someID.setBackgroundColor(colour)

    }

What I want to do is set up a function in javascript that when called onClick takes in values as parameter and changes the bottom two cells: 我想要做的是在javascript中设置一个函数,当调用onClick时,将值作为参数并更改底部的两个单元格:

I am sure this isn't the correct way of doing it in JS but just to explain my question better: 我确信这不是在JS中这样做的正确方法,而只是为了更好地解释我的问题:

Function mySetup (Var name, Color colour) {
colourName.setVar(name);
colour.setColour(colour); 
}

I hope I have explained myself properly, if not please let me know and I will try to explain better. 我希望我已经正确解释了自己,如果没有,请告诉我,我会尽力解释。

EDITED: 编辑:

colourName should change the text of the cell, whereas colour should change the background colour of the cell. colourName应更改单元格的文本,而颜色应更改单元格的背景颜色。

EDITED 2 编辑2

Hi, I think my question did not come as clear as I wanted it to be; 嗨,我认为我的问题没有像我希望的那样明确;

The parameter of the function should take in two values, 1 for colourName and 1 for the backgroundcolour. 函数的参数应该包含两个值,1表示colourName,1表示backgroundcolour。

the colourName should change the text of colourname cell and backgroundcolour should change the background for colour for colour cell. colourName应更改colourname单元格的文本,backgroundcolour应更改颜色单元格的颜色背景。

<td id="colourname"><div>&nbsp;colour name</div></td>
</tr>
<tr>
  <td id="colour">&nbsp;colour</td>
</tr>

 function f(col, name) { $("#colourname div").html(name); $("#colour").css('background-color', col); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table width="300" border="1" id="menuitems"> <tbody> <tr> <td id="cell1" onclick="f('RED', 'name RED')"><div>&nbsp;RED</div></td> <td id="cell2" onclick="f('BLUE', 'name BLUE')"><div>&nbsp;BLUE</div></td> <td id="cell3" onclick="f('GREEN', 'name GREEN')"><div>&nbsp;GREEN</div></td> </tr> </tbody> </table> <table width="300" border="1" id="menulist"> <tbody> <tr> <td id="colourname"><div>&nbsp;colour name</div></td> </tr> <tr><td id="colour">&nbsp;colour</td></tr> </tbody> </table> 

see https://jsfiddle.net/gkmmmk86/4/ https://jsfiddle.net/gkmmmk86/4/

First your click event call should be like this. 首先,您的点击事件调用应该是这样的。

<td id="cell1" onClick="mySetup('RED')"><div>&nbsp;RED</div></td>

and JS : 和JS:

UPDATE : 更新

function mySetup(Color) {

    var arr = {
        "RED": {
            "colornam": "red",
            "color": "red"
        },
        "GREEN": {
            "colornam": "blue",
            "color": "blue"
        },
        "BLUE": {
            "colornam": "green",
            "color": "green"
        }
    }
    var colourname = document.getElementById('colourname');
    var colour = document.getElementById('colour');

    var coloName = arr[Color];
    colour.style.background = coloName.color;
    colourname.innerHTML=coloName.colornam;

}

Please see Fiddle 请看小提琴

Please see the updated fiddle 请看更新的小提琴

UPDATE2 : 更新2

td id="cell1" onClick="mySetup('RED','red')"><div>&nbsp;RED</div></td>

JS: JS:

function mySetup(Color,colorName) {

    var colourname = document.getElementById('colourname');
    var colour = document.getElementById('colour');

    colour.style.background = Color;
    colourname.innerHTML=colorName;

}

Write a simple function 写一个简单的函数

Javascript 使用Javascript

function mySetup(CoulourName, Color){
    var colourname = document.getElementById('colourname');
    var colour= document.getElementById('colour');
    colourname.innerHTML = CoulourName;
    colour.style.background = Color;
  }

HTML HTML

And use onClick = "mySetup('FANCY NAME','RED');" 并使用onClick = "mySetup('FANCY NAME','RED');" on td and so on for others with diferent color name. td等等其他颜色名称不同的人。

You can try this : 你可以试试这个:

 <td id="cell1" onClick="mySetup('RED', '#FF0000')"><div>&nbsp;RED</div></td>

var Color = new Object(); var Color = new Object();

function mySetup (name, colourCode) { function mySetup(name,colourCode){

    Color.name = name;
    Color.colorCode = colourCode; 

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM