Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从选择中选择选项后自动选中复选框-仅适用于FF_Javascript - Fatal编程技术网

Javascript 从选择中选择选项后自动选中复选框-仅适用于FF

Javascript 从选择中选择选项后自动选中复选框-仅适用于FF,javascript,Javascript,我有这样的想法,但它在FF上工作,但不想在chrome、opera或safari中使用。我不知道为什么。。。你知道吗?如何修复它 <html> <head> <script src='http://code.jquery.com/jquery-2.1.0.min.js'></script> </head> <body> <form> <select name="visitData[client_id]"

我有这样的想法,但它在FF上工作,但不想在chrome、opera或safari中使用。我不知道为什么。。。你知道吗?如何修复它

<html>
<head>
<script src='http://code.jquery.com/jquery-2.1.0.min.js'></script>
</head>
<body>
<form>

<select name="visitData[client_id]"  class="input input-select">
    <option   onclick="$('#visit-paid').prop('checked', true);"    value="67"> true</option>
    <option   onclick="$('#visit-paid').prop('checked', true);"    value="77">true</option>
    <option   onclick="$('#visit-paid').prop('checked', false);"    value="42">false</option>
    <option   onclick="$('#visit-paid').prop('checked', true);"    value="14">true</option>
    <option   onclick="$('#visit-paid').prop('checked', true);"    value="50">true</option>
    <option   onclick="$('#visit-paid').prop('checked', false);"    value="26">false</option>
</select>
    <input type="checkbox" name="visitData[paid]" value="1" class="input input-checkbox" id="visit-paid"/>

<br/><input type="submit" value="Add">
</form>
</body></html>

真的
真的
假的
真的
真的
假的


代码看起来正常。试试下面的方法

         <select name="visitData[client_id]"  class="input input-select" id="dropDown">
           <option      value="67"> true</option>
         <option     value="77">true</option>
          <option     value="42">false</option>
         <option     value="14">true</option>
         <option      value="50">true</option>
       <option    value="26">false</option>
     </select>




 //jquery
         $(document).on('click','#dropDown option',function(){

                $('#visit-paid').prop('checked', $.trim($(this).text()));
       });

真的
真的
假的
真的
真的
假的
//jquery
$(文档).on('单击','下拉选项',函数()){
$('#已付费访问').prop('checked',$.trim($(this.text()));
});

您可以为选项使用额外属性。如果为
true
,则在本例中有一个名为
数据检查的属性

<select name="visitData[client_id]" class="input input-select">
    <option value=""></option>
    <option data-check="true" value="67">foo</option>
    <option data-check="true"  value="77">foo</option>
    <option value="42">bar</option>
    <option data-check="true" value="14">foo</option>
    <option data-check="true" value="50">foo</option>
    <option value="26">bar</option>
</select>



$('.input-select').on('change', function () {
    var check = ($('option:selected', this).attr('data-check') ? true : false);
    $('#visit-paid').prop('checked', check);
});

福
福
酒吧
福
福
酒吧
$('.input select')。打开('change',函数(){
变量检查=($('option:selected',this).attr('data-check')?true:false);
$(“#访问已支付”).prop('已检查',检查);
});

试试这样的方法

<select name="visitData[client_id]"  class="input input-select">
        <option  value="67"> true</option>
        <option  value="77">true</option>
        <option  value="42">false</option>
        <option  value="14">true</option>
        <option  value="50">true</option>
        <option  value="26">false</option>
    </select>


        <script>

        $(".input-select").change(function()
        {
          var t=$.trim($(".input-select :selected").text());
          $('#visit-paid').prop('checked',t.bool());
        })

        String.prototype.bool = function() 
        {
          return (/^true$/i).test(this);
        };
        </script>

真的
真的
假的
真的
真的
假的
$(“.input select”).change(函数()
{
var t=$.trim($(“.input-select:selected”).text();
$(“#访问已付费”).prop('checked',t.bool());
})
String.prototype.bool=函数()
{
返回(/^true$/i)。测试(此);
};

好的,但我的代码中当然有不同的文本beetween选项:)。。。没有真或假,所以我必须以不同的方式来做。你可以把数据-*属性放在选项标签中,表示真或假。然后jquery将是$('#visit paid').prop('checked'),$.trim($(this.attr('data-value'))$(“#访问已付费”).prop('checked',$.trim($(this.text());这不起作用选项文本在他的代码中不是“真”或“假”。对不起,我忘了检查