通过jquery获取所需的selectbox值

时间:2018-02-19 12:56:07

标签: javascript php jquery select codeigniter-3

此处我三个下拉列表 不同的值,代码如下所示。

要使用jquery获取相应下拉列表的值,我有这个但它总是得到相同的值请看看



df

$(".one").hide();
$(".two").hide();
$(".three").show();
var  name_type=$("#abc_type_1").attr('name','type');
$("#abc_type_2").removeAttr('name');
$("#abc_type_3").removeAttr('name');
$("input[name=select_type]:radio").change(function () {
    if($(this).val()=='1')
    {
        $(".one").show();
        $(".two").hide();
        $(".three").hide();

        var  name_type=$("#abc_type_1").attr('name','type');
        $("#abc_type_2").removeAttr('name');
        $("#abc_type_3").removeAttr('name');
    }
    else if($(this).val()=='2')
    {
        $(".one").hide();
        $(".two").show();
        $(".three").hide();

         var  name_type=$("#abc_type_2").attr('name','type');
        $("#abc_type_1").removeAttr('name');
        $("#abc_type_3").removeAttr('name');
    }
    else if($(this).val()=='3')
    {
        $(".one").hide();
        $(".two").hide();
        $(".three").show();

        var  name_type=$("#abc_type_3").attr('name','type');
        $("#abc_type_1").removeAttr('name');
        $("#abc_type_2").removeAttr('name');
    }
});




这里我想获取所选选择框的值,但我无法获得正确的值,请帮我解决。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="left_1">
    <input class="magic-radio" type="radio"  name="select_type" id="1" value="1">
    <label for="1">1</label>
    <input class="magic-radio" type="radio"  name="select_type" id="2" value="2">
    <label for="2">2</label>
    <input class="magic-radio" type="radio"  name="select_type" id="3" checked value="3">
    <label for="3">3</label>
</div>
<div class="left_2 one">
    <select name="type" id="abc_type_1" class="form-control abc_type">
        <option value="A">LSK-A</option>
        <option value="B">LSK-B</option>
        <option value="C">LSK-C</option>
    </select>
</div>
<div class="left_2 two">
    <select name="type" id="abc_type_2" class="form-control abc_type">
        <option value="AB">LSK-AB</option>
        <option value="AC">LSK-AC</option>
        <option value="BC">LSK-BC</option>
    </select>
</div>
<div class="left_2 three">
    <select name="type" id="abc_type_3" class="form-control abc_type">
        <option value="super">LSK-SUPER</option>
        <option value="box">BOX-K</option>
    </select>
</div>

3 个答案:

答案 0 :(得分:1)

您向inputs添加默认值,并在选择更改时添加功能,例如此代码:

&#13;
&#13;
$(".one").hide();
$(".two").hide();
$(".three").show();
var name_type = $("#abc_type_1").attr('name', 'type');
$("#abc_type_2").removeAttr('name');
$("#abc_type_3").removeAttr('name');
$("input[name=select_type]:radio").change(function() {
  if ($(this).val() == '1') {
    $(".one").show();
    $(".two").hide();
    $(".three").hide();

    var name_type = $("#abc_type_1").attr('name', 'type');
    $("#abc_type_2").removeAttr('name');
    $("#abc_type_3").removeAttr('name');

  } else if ($(this).val() == '2') {
    $(".one").hide();
    $(".two").show();
    $(".three").hide();

    var name_type = $("#abc_type_2").attr('name', 'type');
    $("#abc_type_1").removeAttr('name');
    $("#abc_type_3").removeAttr('name');

  } else if ($(this).val() == '3') {
    $(".one").hide();
    $(".two").hide();
    $(".three").show();

    var name_type = $("#abc_type_3").attr('name', 'type');
    $("#abc_type_1").removeAttr('name');
    $("#abc_type_2").removeAttr('name');
  }
});

$("select").change(function(e){
  alert(e.target.value);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="left_1">
  <input class="magic-radio" type="radio" name="select_type" id="1" value="1">
  <label for="1">1</label>
  <input class="magic-radio" type="radio" name="select_type" id="2" value="2">
  <label for="2">2</label>
  <input class="magic-radio" type="radio" name="select_type" id="3" checked value="3">
  <label for="3">3</label>
</div>
<div class="left_2 one">
  <select name="type" id="abc_type_1" class="form-control abc_type">
            <option value="">Select value</option>
            <option value="A">LSK-A</option>
            <option value="B">LSK-B</option>
            <option value="C">LSK-C</option>
        </select>
</div>
<div class="left_2 two">
  <select name="type" id="abc_type_2" class="form-control abc_type">
              <option value="">Select value</option>
            <option value="AB">LSK-AB</option>
            <option value="AC">LSK-AC</option>
            <option value="BC">LSK-BC</option>
        </select>
</div>
<div class="left_2 three">
  <select name="type" id="abc_type_3" class="form-control abc_type">
              <option value="">Select value</option>
            <option value="super">LSK-SUPER</option>
            <option value="box">BOX-K</option>
        </select>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

脚本问题是您在提取发布到服务器的值时没有处理单选按钮和下拉列表。

<强> JS

var form_data = {
      agent_name: $('#agent_name').val(),
      number: $('#number').val(),
      number_from: $('#number_from').val(),
      number_to: $('#number_to').val(),
      quantity: $('#quantity').val(),
      amount: $('#amount').val(),
      date: $('#date').val(),
      commision: $('#commision').val(),
      profit: $('#profit').val(),
      agent_amount: $('#agent_amount').val(),
      user_id: $('#user_id').val(),
      type: $("#abc_type_"+$("input[name=select_type]:checked").val()).val()
   };

用上面的脚本替换你的form_data。如果不是,请告诉我。

此部分从单选按钮获取检查值。

$("input[name=select_type]:checked").val()

响应是这样的。 1或2或3。

$("#abc_type_"+$("input[name=select_type]:checked").val()).val()

现在,jquery将通过定位ID获得价值。例如#abc_type_1,#abc_type_2,#abc_type_3

答案 2 :(得分:0)

这是您获取当前选择框值

的方法

最简单的例子

HTML

<select class="select1_class_name" id="select1" data-userid="1">
<option value="1">1</option>
</select>

Jquery的

$('#select1').change(function() {
var id = $(this).data('userid');
console.log(id); //you will get on change of selected dropdown
});