<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function chooseLocationType(location, title, demand){
alert(demand);
}
<body>
<input
name="tempstaff_location"
class="ques_radio"
id='tempstaff_location'
value='location_'
type="radio" onclick="chooseLocationType('a','b','c')" />
</body>
点击收音机框,我有下面的代码, 基于此的一个条件代码显示隐藏一些潜水。
还有一个jQuery脚本在Click和used函数上运行。
jQuery的(本)
input[name=tempstaff_location]").click(function(){
if(jQuery(this).attr("checked")){
});
如何将两个脚本合二为一。
答案 0 :(得分:3)
拥有你的:
<script type="text/javascript">
function chooseLocationType(location, title, demand){
alert(demand);
}
</script>
我会,因为你没有指定值'a','b'和'c'的来源,将它们作为数据属性添加到你的输入
<input
name="tempstaff_location"
class="ques_radio"
id='tempstaff_location'
value='location_'
data-location="a"
data-title="b"
data-demand="c"
type="radio"/>
最后在事件回调中访问它们
$("input[name=tempstaff_location]").click(function(){
if(jQuery(this).attr("checked")){
chooseLocationType($(this).data('location'), $(this).data('title'), $(this).data('demand') );
}
});
答案 1 :(得分:0)
如果参数因每个元素而异,则将它们存储在元素中的data
标记中。然后在点击处理程序中提取它们。这样你可以应用一个处理程序并同时执行这两个操作。如果更改chooseLocationType以接受位置类型数组,将会更容易。
<input
name="tempstaff_location"
class="ques_radio"
id='tempstaff_location'
value='location_'
type="radio"
data-location="a,b,c" />
$('input[name=tempstaff_location]").click(function(){
if(jQuery(this).attr("checked")){
chooseLocationType( $(this).data('location').split(/,/) );
}
});
如果值已修复,则更容易,只需将调用移动到处理程序中即可。
<input
name="tempstaff_location"
class="ques_radio"
id='tempstaff_location'
value='location_'
type="radio"/>
$('input[name=tempstaff_location]").click(function(){
if(jQuery(this).attr("checked")){
chooseLocationType( 'a','b','c' );
}
});
答案 2 :(得分:0)
当您指定内联onclick
属性时,它只是一个函数,基本上等效于此代码:
element.onclick = function () {
chooseLocationType( 'a','b','c' );
};
在您的JavaScript文件中,您只需编写
即可document.getElementById("tempstaff_location").onclick = function () {
if(this.checked) {
chooseLocationType( 'a','b','c' );
}
}
通过id
获取元素通常比通过标记名和attriute选择元素更好。
答案 3 :(得分:0)
您可以直接在页面加载时调用click事件,而不是在单选按钮html中调用。如果以下是html:
<input
name="tempstaff_location"
class="ques_radio"
id='tempstaff_location'
value='location_'
data-location="a"
data-title="b"
data-demand="c"
type="radio"/>
然后你可以调用以下脚本:
jQuery('input[name=tempstaff_location]').click(function(){
if(jQuery(this).attr('checked')) {
chooseLocationType(jQuery(this).attr('data-location'),jQuery(this).attr('data-title'),jQuery(this).attr('data-demand'));
}
});