Jquery / JS函数不适用

时间:2018-03-05 01:06:46

标签: javascript jquery ajax

构建使用jquery从Web API获取数据的html。 在我的脚本的开头,我做了一个函数来检查下拉列表的值(选中的内容),并根据选中它填充全局变量。

var $seldom;
$(document).ready(function () {
    function chkdom() {
        if ($("#dropdomain").val('Europa')) {
            $seldom = '192.168.5.37';
        }
        else if ($("#dropdomain").val("Canada")) {
            $seldom = '172.168.0.1';
        }
    } 

定义函数后,我立即调用它来检查它并填充变量。

最后通过点击搜索它应该检查从下拉列表中选择的内容并根据该填充再次变量并使用修改后的URL启动GET函数

$('#search').click(function () {
            chkdom();
            $.ajax({
                url: "http://" + $seldom + "/api/find/" + $("input#user").val(),

问题:在我开始调试后,$selcom总是得到'192.168.5.37'的值并不重要。 试图以多种方式调试它,但无法找到它为什么分配该值。 请协助,因为它应该是如此简单,但我必须错过一些东西。

以下是开头的代码部分:

var $seldom;
$(document).ready(function () {
    function chkdom() {
        if ($("#dropdomain").val('Europa')) {
            $seldom = '192.168.5.37';
        }
        else if ($("#dropdomain").val("Canada")) {
            $seldom = '172.16.0.1';
        }
    }
    chkdom();
    alert($seldom);
    alert($("#dropdomain").val());

    $('#search').click(function () {
            chkdom();
            $.ajax({
                url: "http://" + $seldom + "/api/find/" + $("input#user").val(),
                type: "GET",
                dataType: 'Jsonp',
                success: function (result) {....}

3 个答案:

答案 0 :(得分:0)

  

问题:在我开始调试后,$selcom总是得到'192.168.5.37'的值并不重要。

不要:

    if ($("#dropdomain").val('Europa')) {
        $seldom = '192.168.5.37';
    }
    else if ($("#dropdomain").val("Canada")) {
        $seldom = '172.168.0.1';
    }

执行:

    if ($("#dropdomain").val() === 'Europa') {
        $seldom = '192.168.5.37';
    }
    else if ($("#dropdomain").val() === "Canada") {
        $seldom = '172.168.0.1';
    }

请参阅jQuery.val()的文档:

.val(value)
     

描述:设置匹配集中每个元素的值   元件。

     

value参数
  键入:字符串或数字或数组
  一串文本,一个数字或一个字符串数组,对应于每个匹配元素的值   设置为选中/选中。

因此,调用$("#dropdomain").val('some value') 将值写入$("#dropdomain")元素。要读取其值,请致电$("#dropdomain").val()

答案 1 :(得分:0)

此条件$("#dropdomain").val('Europa')始终在写,并且正在评估为true

因此,您需要比较值:

var drop = $("#dropdomain").val(); 
if (drop === 'Europa') {
    $seldom = '192.168.5.37';
} else if (drop === "Canada") {
    $seldom = '172.16.0.1';
}

答案 2 :(得分:0)

尝试以下代码:

if ([tableView isMemberOfClass:[YALContextMenuTableView class]]) {
   // do stuff for table 1
} else {
   // do stuff for table 2
}