2017-01-07 3 views
0

Мне нужно получить значение трех переключателей. У меня 3 поля формы.Как решить неопределенную ошибку в правой кнопке jQuery

$('input[name=optradio]:checked').val(); дает правильный ответ. Однако

$('.listing_type input:radio:checked').val();undefined.

Как я могу это решить?

var listing=$('input[name=optradio]:checked').val(); 

console.log(listing); 

var overwrite = $('.listing_type input:radio:checked').val(); 
alert(overwrite); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<?php 
$response = Array 
(
    "0" => Array 
     (
      "id" => "57fde39205dd7b0ef89e02e3", 
      "name" => "SELL" 
     ), 

    "1" => Array 
     (
      "id" => "57fde3aa05dd7b0ef89e02e4", 
      "name" => "RENT" 
     ) 

); 
echo "<pre>"; 
print_r($response); 
echo "</pre>"; 
$count = count($response); 
foreach($response as $res) 
{ 
$property = "RENT"; 
?> 
<input type="radio" name="optradio" class="listing_type" value="<?php echo $res["name"];?>" 
    <?php 
    if($property==$res["name"]) 
    { 
    echo "checked=checked"; 
    } 
    ?>><?php 
    $l_t=$res["name"]; 
    if($l_t == "SELL"){ 
     echo "Sell"; 
    }else{ 
     echo "Rent"; 
    } 
    ?> 

<?php } ?> 
+0

Есть .listing_type и вводит два разных элемента? –

+0

Может быть '$ res [" name "]' is 'undefined'? – Mottie

ответ

0

Попробуйте с

$('.listing_type:input:radio:checked').val(); 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 

 
<body><pre>Array 
 
(
 
    [0] =&gt; Array 
 
     (
 
      [id] =&gt; 57fde39205dd7b0ef89e02e3 
 
      [name] =&gt; SELL 
 
     ) 
 

 
    [1] =&gt; Array 
 
     (
 
      [id] =&gt; 57fde3aa05dd7b0ef89e02e4 
 
      [name] =&gt; RENT 
 
     ) 
 

 
) 
 
</pre> 
 
    <input type="radio" name="optradio" class="listing_type" value="SELL">Sell 
 
    <input type="radio" name="optradio" class="listing_type" value="RENT" checked="checked">Rent 
 

 
    <script> 
 
    var listing = $('input[name=optradio]:checked').val(); 
 

 
    console.log(listing); 
 

 
    var overwrite = $('.listing_type:input:radio:checked').val(); 
 
    alert(overwrite); 
 
    </script> 
 
</body>

0

input.listing_type:radio:checked должен сделать трюк. Здесь вы используете много видов селекторов: tagName input, className listing_type, селектор формы jQuery :radio и селектор CSS3 :checked.

Смежные вопросы